C++
-
在类定义中实现成员函数inline、
-
类内成员函数定义、会被当成inline内联函数来处理、
-
inline是否成功取决于编译器
-
-
成员函数末尾的const、
- 如果在成员函数末尾增加const则应在成员函数声明中和成员函数的定义中均添加const、
- 成员函数末尾const的作用是不会修改该对象中任何成员变量的值、
- const放在函数前面称为const对象、有限制的对象、常量属性、不能修改、私有、
- const成员函数可以调用const成员函数、不管调用对象是否为const、
- 非const成员函数不能调用const对象只能调用非const对象的函数、
- 非成员函数末尾不能添加const
-
mutable、
-
不稳定、容易改变、与const相反、存在的意义便是突破const的限制、
-
一旦成员变量使用mutable修饰后、这个成员变量将永久处于可以被修改状态、即使末尾有const的成员函数也可以被修改、
-
-
返回自身对象的引用this、
- 调用this成员函数时、编译器负责将这个对象的地址传递给这个成员函数中一个隐藏this形参中、
- 任何对类成员的直接访问均被看成通过this做隐式调用、
- this是一个常量指针、一直指向本身、
- 隐藏的this指针只能在成员函数中使用、静态函数、全局函数不存在this本身、
- 在普通成员函数中this是一个指向非const对象的const指针、this只能指向当前对象、不能指向其它对象、
- const成员函数中、this指针是一个指向const对象的const指针、
-
static成员、
- 静态变量如果不赋初值的话默认初值为0、动态变量如果不符初值的话将会随机分配、
- static限制全局变量只能在本文件中使用、
- 在类中使用static则表示该成员变量属于整个类、在对象中使用修改了某个成员变量的值后其它成员可以看到修改的结果、
- 添加static则成员变量只有一个副本、引用方式是类名::成员变量名、成员函数前也可以static变成静态成员变函数、
- 静态成员变量使用前须先定义、在.cpp文件开头定义静态成员变量、定义时才分配内存、以便后续可以使用、
- 定义可以不给初值、定义时不需要在前面添加static、声明是需要添加static、只能在一个同文件中定义、
- 静态成员变量是跨对象的、
-
字符串+CTRL+F3可以查找同一个文件中的字符串、