blog:cpp:basic_const

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
上一修订版两侧同时换到之后的修订记录
blog:cpp:basic_const [2022/04/17 23:03] – [顶层const] caodanblog:cpp:basic_const [2022/04/23 22:34] – [constexpr 和常量表达式] caodan
行 61: 行 61:
  
 更一般的,顶层const 可以表示任意对象是常量,这一点对任何数据类型都适用。 更一般的,顶层const 可以表示任意对象是常量,这一点对任何数据类型都适用。
-底层const则与指针和引用等复合类型基本类型部分有关。+ 
 +例: 
 +``` 
 +int i = 0;  
 +int *const p1 = &i;        // 不能改变p1的值, 这是一个顶层const 
 +const int ci = 42;         // 不能改变ci的值, 这是一个顶层const 
 +const int *p2 = &ci;       // 允许改变p2的值, 这是一个底层const 
 +const int *const p3 = p2;  // 靠右的const的顶层const, 靠左的是底层const 
 +const int &r = ci;         // 用于声明引用的const都是底层const 
 +``` 
 + 
 +## constexpr 和常量表达式 
 + 
 +尽管可以使用const 来定义常量表达式,例如: 
 + 
 +``` 
 +const int max_files = 20; 
 +const int limit = max_files + 1; 
 +```
  • blog/cpp/basic_const.txt
  • 最后更改: 2022/04/23 22:43
  • caodan