当前位置:网站首页>Const keyword, variable and function are decorated with const
Const keyword, variable and function are decorated with const
2022-04-23 18:15:00 【Talent、me】
const keyword
const yes constant Abbreviation , It is called constant , By const The modified entities are subject to compulsory protection , Avoid unexpected changes , It can improve the robustness and maintainability of the program .
const Variable
const int maxSize = 50; //int Type constant
const int *ptr = &maxSize; // Point to const int Pointer to type
int minSize = 100; //int type
int* const ptr1 = &minSize; // Point to int Constant pointer to type
const int* const ptr2 = &maxSize; // Point to const int Constant pointer to type
// Let's briefly describe
const int testSize = 30;
ptr = testSize; //ptr The pointer can be redirected to another variable
int num = 10;
prt1 = # // error , Constant pointers can only point to objects during initialization , Cannot change the object pointed to
It should be noted that :const The object must be initialized , Because the assignment operation cannot be performed , Can only be assigned at the time of definition .
const For functions
//const Cannot be used on output parameters , Can only be used on input parameters , Make sure that the scope of the function does not change
void copy(QString& dest, const QString sourse)
{
........
}
//const Used on the return value of a function
const int* readData()
{
}
const int* value = readData();// correct
int* value1 = readData();// error
// Because if the return value is a pointer , Must be of the same type as the return value .
//const Used at the end of a function declaration (const Member functions )
void test() const
{
//const Member functions must not modify data members or call other non members const Member functions , If... Is modified or called during this period , The compiler will report an error .
}
define ( Macro definition )
here , I have to say define This keyword
Constants are often defined as preprocessor macros .( I often use macro definitions to define constants now , Now it's slowly changing )
#define MAXSIZE (30)
int array[MAXSIZE];
The macro definition will replace the macro in the program in the preprocessing phase in the compilation phase .
Why use it const Not macro definitions ?
because const Expressions can be type checked at compile time , So I prefer const expression .
版权声明
本文为[Talent、me]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204210610471323.html
边栏推荐
- PowerDesigner various font settings; Preview font setting; SQL font settings
- Docker 安装 Redis
- Docker 安裝 Redis
- Basic usage of crawler requests
- logstash 7. There is a time problem in X. the difference between @ timestamp and local time is 8 hours
- What are the relationships and differences between threads and processes
- Climbing watermelon video URL
- Selenium + phantom JS crack sliding verification 2
- Rust: shared variable in thread pool
- Rust: how to match a string?
猜你喜欢
idea中安装YapiUpload 插件将api接口上传到yapi文档上
Deep learning classic network analysis and target detection (I): r-cnn
PowerDesigner various font settings; Preview font setting; SQL font settings
Process management command
Qt读写XML文件(含源码+注释)
【ACM】509. 斐波那契数(dp五部曲)
powerdesigner各种字体设置;preview字体设置;sql字体设置
GDAL + ogr learning
Auto. JS custom dialog box
WIN1 remote "this may be due to credssp encryption Oracle correction" solution
随机推荐
Calculation of fishing net road density
Solving the problem of displaying too many unique values in ArcGIS partition statistics failed
STM32学习记录0008——GPIO那些事1
Docker 安装 MySQL
GDAL + ogr learning
In win10 system, all programs run as administrator by default
re正則錶達式
Auto. JS custom dialog box
Notepad + + replaces tabs with spaces
Installation du docker redis
Robocode tutorial 7 - Radar locking
【ACM】376. 摆动序列
Selenium + webdriver + chrome realize Baidu to search for pictures
Svn simple operation command
Flash operates on multiple databases
Stanford machine learning course summary
From introduction to mastery of MATLAB (2)
串口调试工具cutecom和minicom
Implement a simple function to calculate the sum of all integers between M ~ n (m < n)
re正则表达式