关键字
文章平均质量分 65
c++关键字
低头看天,抬头走路
句句都是正确的废话,招招都是致命的空招。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
this指针
this 指针是一个隐含于每一个非静态成员函数中的特殊指针,它指向调用该成员函数的那个对象。 当对一个对象调用成员函数时,编译程序先将对象的地址赋给 this 指针,然后调用成员函数,每次成员函数存取数据成员时,都隐式使用this 指针。 this 并不是一个常规变量,而是个右值,所以不能取得 this 的地址(不能 &this) ...原创 2021-01-05 21:25:27 · 222 阅读 · 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 · 214 阅读 · 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 · 776 阅读 · 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 · 606 阅读 · 0 评论 -
inline在c++中的作用
内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。 用关键字 inline 放在函数定义的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开,假设我们将 max 定义为内联函数: inline int max(int a, int b) { return a > b ? a : b; } 则调用:cout <......原创 2019-07-01 23:04:36 · 1984 阅读 · 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 · 2147 阅读 · 1 评论 -
static在c++中的作用
在C中的作用 静态全局变量/静态函数 存储在静态存储区,生命周期直到程序结束 在声明它的整个文件都是可见的,而在文件之外是不可见的,其它文件中可以定义相同名字的变量,不会发生冲突; 静态局部变量 存储在静态存储区,生命周期直到程序结束 静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化;如果没有显式初始化,会被程序自动初始化为0(普通的局部变量必须显示初始化.........原创 2020-03-12 19:20:41 · 721 阅读 · 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 · 239 阅读 · 0 评论 -
volatile、extern、explict、register
static: 作用: 1)未被初始化的静态变量初始化为0。如果一个全局或局部变量加上关键字static,则它的默认初始化值就为0。 2)隐藏(链接属性 )。如果一个变量或函数加上关键字static,则它只能在本文件内有效,其他文件是不能访问它的,从而有效的保护了改变量或函数不会被其他文件修改。 3)使局部变量内容持久化 如果一个局部变量被声明为静态的,则它的存储位置就从栈变成了静态存储区,栈...原创 2019-07-26 00:09:10 · 283 阅读 · 0 评论
分享