当前位置:网站首页>Summary of the function and usage of const, volatile and restrict
Summary of the function and usage of const, volatile and restrict
2022-07-05 00:29:00 【Kingston】
const
const(constant) Keywords can modify variables 、 Function parameter 、 Return value or function body .
Define read-only variables .
Limiting function parameters . Prevent accidental modification . Increase program security and reliability .
Such as const char *p Express ,p The value pointed to by the pointer cannot be changed , This pointer cannot be used to modify data
Such as char *const p Express ,p The address pointed to by the pointer cannot be changed
Such as const int arr[] Then the values in the array cannot be modified
const char *const p Express , The value and address pointed to cannot be changed
const double locked[4]
double *pc=rates
pc=locked This sentence is illegal . because locked It can't be modified
In the source file const int i = 1 In other documents extern const int i, If in the header file, apply static const int i = 1, Because each file needs to contain this header file , need static Ensure internality . But if you store arrays in this way , Because each file needs to create this static array , It may take up more storage space , We need to consider its advantages and disadvantages from more aspects .
volatile
volatile Qualifiers indicate that variables can be modified by external agents in addition to programs , For example, the variable saves the current clock time .
The compiler optimizes the compilation and puts the unchanged value in the register , For reading , Mark volatile It can ensure that it is not put into the register .
If it cannot be changed by the program but can be changed by the agent const volatile int i.
restrict
restrict Can only be used for pointers int* restrict ptr, So that makes ptr Is the only way to point to a data block .
It can prevent data from being operated by other pointers . If in memcpy In order to prevent overlapping areas , use restrict Modifies the incoming pointer . meanwhile ,restrict It is also conducive to compiler optimization .
author : Hu hahaha
link :https://www.jianshu.com/p/58f618bd9ea3
source : Simple books
The copyright belongs to the author . Commercial reprint please contact the author for authorization , Non-commercial reprint please indicate the source .
边栏推荐
- 微服务(Microservice)那点事儿
- 【雅思阅读】王希伟阅读P3(Heading)
- P3304 [SDOI2013]直径(树的直径)
- lambda expressions
- If you open an account of Huatai Securities by stock speculation, is it safe to open an account online?
- Face recognition 5- insight face padding code practice notes
- 2022.07.03(LC_6109_知道秘密的人数)
- 海思3559万能平台搭建:YUV422的踩坑记录
- OpenHarmony资源管理详解
- IELTS examination process, what to pay attention to and how to review?
猜你喜欢

2022.07.03 (LC 6108 decryption message)

Deux nombres se remplacent

URLs and URIs

Huawei employs data management experts with an annual salary of 2million! The 100 billion market behind it deserves attention

Continuous modification of business scenario functions

微服务(Microservice)那点事儿

业务场景功能的继续修改

It's too convenient. You can complete the code release and approval by nailing it!

【selenium自动化】常用注解

图解网络:什么是网关负载均衡协议GLBP?
随机推荐
PyTorch: In-place Operation
OpenHarmony资源管理详解
Nine Qi single chip microcomputer ny8b062d single key control four LED States
[论文阅读] TUN-Det: A Novel Network for Thyroid Ultrasound Nodule Detection
积分商城游戏设置的基本要点
Deux nombres se remplacent
Power operation and maintenance cloud platform: open the new mode of "unattended and few people on duty" of power system
Life is changeable, and the large intestine covers the small intestine. This time, I can really go home to see my daughter-in-law...
Two numbers replace each other
MySQL uses the explain tool to view the execution plan
JS how to realize array to tree
Introduction to ACM combination counting
跨域请求
Face recognition 5- insight face padding code practice notes
Learn C language from scratch day 024
P3304 [SDOI2013]直径(树的直径)
"Xiaodeng" domain password policy enhancer in operation and maintenance
Summer challenge brings you to play harmoniyos multi terminal piano performance
Parameter passing mechanism of member methods
The company needs to be monitored. How do ZABBIX and Prometheus choose? That's the right choice!