C++中const的6种用法总结
发布网友
发布时间:2024-10-02 07:17
我来回答
共1个回答
热心网友
时间:2024-10-16 20:32
const修饰变量
语法:const 数据类型 常量名 = 常量值;
const类型的变量必须在定义时进行初始化,之后不能对const型的变量赋值
const修饰指针
① const修饰指针 --- 常量指针
语法:const 数据类型 * 变量名;
② const修饰常量 --- 指针常量
语法:数据类型 * const 变量名;
③ const即修饰指针,又修饰常量
语法:const 数据类型 * const 变量名;
示例
技巧:看const右侧紧跟着的是指针还是常量,是指针就是常量指针,是常量就是指针常量
const修饰函数形参
在函数形参列表中,可以加const修饰形参(也叫常量引用修饰形参),防止形参改变实参。
const修饰函数结构体形参
作用:用const来防止误操作
const修饰函数返回值
返回基本数据类型的常量值:当函数返回基本数据类型(如 int、float 等)时,使用 const 修饰返回值通常没有太大意义。因为基本类型的返回值通常是按值返回,即返回的是一个副本。修改这个副本并不会影响原始值。
返回对象或复合类型的常量引用:当函数返回对象或复合类型(如自定义类、结构体等)时,使用 const 修饰返回值可以防止返回的对象或复合类型被修改。这是一种常见且有用的做法,特别是在返回类的成员变量时。
getClass 函数返回 MyClass 类型对象的常量引用。这意味着调用者可以读取返回的对象,但不能修改它。这种做法既保证了数据的安全性,又避免了不必要的复制。
getValue 方法返回 value 成员的常量引用,这样就保护了内部数据不被外部修改。
const修饰成员函数:常函数
语法:返回值类型 函数名 const {}
const修饰类对象:常对象
语法:const 类名 对象名;
示例:
const和constexpr
constexpr 和 const 都是 C++ 中用于声明常量的关键字,但它们在使用上有一些重要的区别:
constconstexpr主要区别示例
使用const:
使用constexpr:
在实际编程中,选择const 还是 constexpr 取决于你的具体需求,尤其是是否需要编译时的常量表达式。
参考: 追梦小公子:C/C++笔记