美文网首页
C++知识点小结

C++知识点小结

作者: yuLiangC | 来源:发表于2021-01-17 15:02 被阅读0次

最近项目里的一个功能用到了c++语言,发现很多基础知识因长时间不用早已忘记,遂准备复习一下捡起来。

bool类型

自定义define int BOOL和原始的bool类型区别:前者占用4个字节;后者占用1个字节。

const关键字

用于修饰变量,表示常量。(一旦被定义,就难以被修改)
编译期不能被修改,运行时可修改

const指针

const T */T const *表示不能修改指针指向的内容,指针指向的值可以被修改。

const int * a = 3;
const int * b = 5;
a = 5(错误)
a = b(正确)

T * const 表示不能修改指针指向的值,指针指向的内容可以被修改。
const T * const 表示指针指向的值和内容均不能被改变。
const_cast类型转换
用于去掉const属性,将常量改为变量

内联函数

写在头文件里,用于简化函数的调用。和一般函数调用的差别在于效率更高,减少资源的调配过程。使用inline关键字修饰
debug时没有inline,是将其当作正常函数来调用。

引用

引用是变量的别名。其本质就是指针,存储的是变量的地址。
引用必须初始化,不能用常量赋值。
只有常量引用可以用常量赋值。
引用的关系一旦建立就无法修改。

命名空间和类的区别

命名空间可以避免命名冲突,方便模块化编程。
类是面对对象的概念,可以实例化。
C++里面没有 package这一个术语,有时可能会遇到两个类命名相同,为了避免名字冲突,c++引入了命名空间。

类this关键字

同一个类的对象其成员变量是独有的,但是成员函数是共有的。即数据私有,成员函数共用的。
在调用函数时是把对象的this指针传入了函数(__thiscall系统内部默认的关键字,无法调用),__stdcall,__cdcel,__fastcall

相关文章

网友评论

      本文标题:C++知识点小结

      本文链接:https://www.haomeiwen.com/subject/rdanaktx.html