可以将互联网技术岗位关于C++的知识点归纳为以下五个部分:
- C++基础知识
- 面向过程的特性
- 面向对象的特性
- 泛型编程的特性
- 标准模板库和算法
auto
C++98以前,auto关键字是继承B语言而来,C++11中已被废弃,新auto主要用于自动类型推断和返回值占位
static
static修饰的变量和函数存储在内存的静态文本区,与全局变量存储的位置一致。而静态文本区的字节默认都是0x00
- 修饰局部变量
对局部变量添加static修饰符后,变量的存储区由栈改为静态文本区,它的生存周期得到了改变。 - 修饰全局变量
对全局变量添加static,生存周期不会改变,但是会影响作用域。普通全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。这一点,有人称作“隐藏” - 修饰函数
static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static修饰的函数),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件.
static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
const
const关键字可以修饰变量,引用,函数,对象等:
常变量: const 类型说明符 变量名
常引用: const 类型说明符 &引用名
常对象: 类名 const 对象名
常成员函数: 类名::fun(形参) const
常数组: 类型说明符 const 数组名[大小]
常指针: const 类型说明符* 指针名 ,类型说明符* const 指针名
在常变量(const 类型说明符 变量名)、常引用(const 类型说明符 &引用名)、常对象(类名 const 对象名)、 常数组(类型说明符 const 数组名[大小]), const” 与 “类型说明符”或“类名”(其实类名是一种自定义的类型说明符) 的位置可以互换。
需要注意的概念其实是“常量指针”和“指针常量”,也就是const修饰一个指针变量的时候产生的两种差异。我们知道,一个指针变量,使用的时候需要考虑该指针本身和被它所指的对象,
(http://www.cqxuwang.com/201911.html)