分享C++程序员面试八股文(二)

以下是一些 C++ 常见的八股文问题及回答:

  1. 说一下 static 关键字的作用

    • 全局静态变量:在全局变量前加上 static,它将存放在静态存储区,在整个程序运行期间一直存在。未经初始化的全局静态变量会被自动初始化为 0,其作用域是从定义之处开始到文件结尾,在声明它的文件之外不可见。
    • 局部静态变量:位于局部变量之前的 static 使其成为局部静态变量,同样存放在静态存储区。未经初始化的局部静态变量也会被自动初始化为 0,其作用域仍为局部作用域,当定义它的函数或语句块结束时,作用域结束。但局部静态变量离开作用域后不会销毁,仍驻留在内存中,直到该函数再次被调用,且值不变。
    • 静态函数:在函数返回类型前加 static,定义静态函数。该函数只在声明它的文件中可见,不能被其他文件使用,可避免与其他文件中的同名函数产生冲突。
    • 类的静态成员:实现多个对象之间的数据共享,且不会破坏隐藏原则,保证了安全性。它是类的所有对象共享的成员,而不是某个对象的成员。
    • 类的静态函数:和静态数据成员一样属于类的静态成员,不是对象成员,对其引用无需使用对象名。在静态成员函数的实现中不能直接引用类中说明的非静态成员,但可引用静态成员。调用静态成员函数的格式为:<类名>::

你可能感兴趣的:(c++,面试,数据结构,后端,算法)