关键字
文章平均质量分 65
c++关键字
低头看天,抬头走路
句句都是正确的废话,招招都是致命的空招。
展开
-
this指针
this 指针是一个隐含于每一个非静态成员函数中的特殊指针,它指向调用该成员函数的那个对象。当对一个对象调用成员函数时,编译程序先将对象的地址赋给 this 指针,然后调用成员函数,每次成员函数存取数据成员时,都隐式使用this 指针。this 并不是一个常规变量,而是个右值,所以不能取得 this 的地址(不能 &this)...原创 2021-01-05 21:25:27 · 164 阅读 · 0 评论 -
struct和class的区别
访问权限继承访问权class默认的是private,strcut默认的是public。访问权struct默认的数据访问控制是public的,class默认的成员变量访问控制是private的。模版参数class可用于定义模板参数,就像typename,但struct不能这样用。更详细的参考struct和class的区别The real difference between...原创 2020-04-29 23:18:00 · 161 阅读 · 0 评论 -
c++ 双冒号和单冒号的区别
双冒号域操作符声明了一个类A,在类A中声明一个成员函数void foo(),但没有在类A的声明中给出函数foo的定义,那么在类外定义foo时,就要写成下面这样,表示foo()函数是类A的成员函数。void A::foo()引用成员函数和变量System::Math::Sqrt()单冒号构造函数初始化列表struct foo{ foo() ...原创 2020-03-28 23:46:49 · 705 阅读 · 0 评论 -
C++模板中typename和class的区别
template与template一般情况下这两个通用,但有一个特例,就是当 T 是一个类,而这个类又有子类(假设名为 innerClass) 时,应该用 template:typename T::innerClass myInnerObject;这里的 typename 告诉编译器,T::innerClass 是一个类,程序要声明一个 T::innerClass 类的对象,而不是声明 T...原创 2019-12-13 11:24:43 · 564 阅读 · 0 评论 -
inline在c++中的作用
内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。 用关键字 inline 放在函数定义的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开,假设我们将 max 定义为内联函数:inline int max(int a, int b){ return a > b ? a : b;}则调用:cout <......原创 2019-07-01 23:04:36 · 1583 阅读 · 0 评论 -
const在c++中的作用
const一个变量加上const修饰后,就变成了只读变量(不等于常量),一般不可以被修改。比如:const int *p和int const *p两条语句等价,const修饰 *p,即 *p不可被修改, p可以被修改。const与宏常量的区别const常量有数据类型,宏常量没有数据类型,所以没有类型的检查,是不安全的;const可以进行调试,宏不可以调试,无法检查错误。const...原创 2020-03-12 19:51:56 · 1936 阅读 · 1 评论 -
static在c++中的作用
在C中的作用静态全局变量/静态函数存储在静态存储区,生命周期直到程序结束在声明它的整个文件都是可见的,而在文件之外是不可见的,其它文件中可以定义相同名字的变量,不会发生冲突;静态局部变量存储在静态存储区,生命周期直到程序结束静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化;如果没有显式初始化,会被程序自动初始化为0(普通的局部变量必须显示初始化.........原创 2020-03-12 19:20:41 · 644 阅读 · 0 评论 -
define与typedef、const、inline的区别
1.typedef和#define的区别typedef int* pInt;int a = 1, b = 2;const pInt p1 = &a; //p1是常量指针pInt const p2 = &b; //p2是常量指针//这里的const就是拿来修饰p1、p2的,跟pInt没关系1)作用:typedef定义了一个新的类型别名,而#define(宏定义...原创 2019-07-26 18:38:37 · 193 阅读 · 0 评论 -
volatile、extern、explict、register
static:作用:1)未被初始化的静态变量初始化为0。如果一个全局或局部变量加上关键字static,则它的默认初始化值就为0。2)隐藏(链接属性 )。如果一个变量或函数加上关键字static,则它只能在本文件内有效,其他文件是不能访问它的,从而有效的保护了改变量或函数不会被其他文件修改。3)使局部变量内容持久化 如果一个局部变量被声明为静态的,则它的存储位置就从栈变成了静态存储区,栈...原创 2019-07-26 00:09:10 · 226 阅读 · 0 评论