C++面试知识点


可以将互联网技术岗位关于C++的知识点归纳为以下五个部分:

  • C++基础知识
  • 面向过程的特性
  • 面向对象的特性
  • 泛型编程的特性
  • 标准模板库和算法
1. 关键字

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)

猜你喜欢

转载自blog.csdn.net/qq_42409143/article/details/80610857