cplusplus的特殊关键字
const 在函数中的位置
const 返回值
- const 型返回值, 指函数的返回值为 const 变量.
- 函数返回 const 返回值, 主要用于函数返回 const 引用.
- const 引用,相当于指向 const 变量的 const 指针, 其指向和指向的内容均不允许改变.
c++
#include <string>
using namespace std;
const string& const_Version(string& version) {
version = "V0.0.0";
return version;
}
string& notConst_version(string& version) {
version = "v0.0.0";
return version;
}
int main(int argc, char* argv[]) {
string versionInfo;
// const_Version(versionInfo) = "V0.0.1"; // 报错,返回 const 引用,不允许修改.
notConst_version(versionInfo) = "V0.0.1";
}
const 成员函数
- const 成员函数, 指此函数不应该修改任何成员变量.
- const 成员函数, 不能够修改任何成员变量, 除非成员变量被 mutable 修饰符修饰.
- 传给 const 成员函数的 this 指针, 是指向 const 对象的 const 指针.在成员函数调用的过程中, 都有一个 this 指针被当做参数隐性地传递给成员函数.故成员变量不能够修改.
其它
- const 和 constexpr 的区别.
视频
视频
auto 关键字
auto 的限制
- auto 需要根据初始化来推导类型,没有初始化就无法使用.
- auto 不能在函数的参数中使用.
- 在 C++11/14 中 auto 不能作用于类的非静态成员变量(也就是没有 static 关键字修饰的成员变量)中, 在C++17 起允许.
- auto 关键字不能定义数组.
- auto 不能作用于模板参数.