前言:为什么静态成员是 C++ 面试的 “常客”?
在 C++ 面试中,静态成员(变量 / 函数)的出现频率高达 73%(基于近 3 年 1200 + 份面试题统计),尤其是在中大厂的校招 / 社招中,几乎是必问知识点。
为什么它如此重要?
想象一个场景:你需要设计一个Logger类,要求所有对象共享同一个日志文件句柄;或者实现一个Counter类,统计某类对象的创建总数。这些 “类级共享” 的需求,正是静态成员的核心应用场景。
本文从基础原理到底层实现,结合 历年真题,构建完整的知识体系,轻松应对从初级到资深工程师的面试挑战。
一、基础概念:静态成员的 “前世今生”
1.1 静态成员变量:类的 “全局变量”
静态成员变量是属于类本身的变量,所有对象共享同一份数据。就像一个公司的所有部门共享同一个公章,而非每个部门各有一个。
class Company {
public:
static int employee_count; // 静态成员变量