当前位置:网站首页>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 .
边栏推荐
- Tester's algorithm interview question - find mode
- Deux nombres se remplacent
- Data on the number of functional divisions of national wetland parks in Qinghai Province, data on the distribution of wetlands and marshes across the country, and natural reserves in provinces, cities
- Application of multi loop instrument in base station "switching to direct"
- 实战模拟│JWT 登录认证
- P3304 [sdoi2013] diameter (diameter of tree)
- 业务场景功能的继续修改
- Introduction to ACM combination counting
- abc 258 G - Triangle(bitset)
- Five papers recommended for the new development of convolutional neural network in deep learning
猜你喜欢
随机推荐
【雅思阅读】王希伟阅读P4(matching1)
Build your own minecraft server with fast parsing
XML的解析
Learning of basic amplification circuit
华为200万年薪聘请数据治理专家!背后的千亿市场值得关注
Recursive execution mechanism
22-07-02周总结
[monitoring] ZABBIX
P3304 [SDOI2013]直径(树的直径)
Summer challenge brings you to play harmoniyos multi terminal piano performance
企业公司项目开发好一部分基础功能,重要的事保存到线上第一a
微服务(Microservice)那点事儿
[论文阅读] CarveMix: A Simple Data Augmentation Method for Brain Lesion Segmentation
Using fast parsing intranet penetration to realize zero cost self built website
It's too convenient. You can complete the code release and approval by nailing it!
Relationship between classes and objects
Significance of acrel EMS integrated energy efficiency platform in campus construction
Daily practice (18): stack containing min function
Distributed base theory
雅思考试流程、需要具体注意些什么、怎么复习?