在 C++ 中,若结构体中包含一个 static 成员变量,则该变量的存储空间属于结构体对象的一部分。( )
仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】C++ 静态成员 | 类对象存储 | 内存布局
1. 考纲定位 C++ 八级要求掌握类成员分类,本题卡住的是"静态成员属于类而非对象"这一核心概念。命题人专攻考生对 static 语义的模糊认知——多数学生误以为所有成员变量都绑定到对象。
2. 解题思维 看到 static 先想"共享",再想"不属于某具体对象"。静态成员变量在编译期确定为单份存储,放在全局数据区(.bss/.data),而非堆栈上。实例成员的每份拷贝才占用对象存储,这是对象构造时 new 出来的。
3. 陷阱拆解 命题人用"属于结构体对象"制造绝对化陷阱。若你只背"静态成员"四个字,就会误选 A;真正理解"对象"与"类"的区别,才能识破。最阴险的是"结构体对象"四个字——它暗示每个对象都有自己的一份,但静态成员恰恰是所有对象共用一份。
4. 反命题思维 反推:若把 static 改成普通成员,存储归属立刻变回对象;若把"结构体对象"换成"类类型",命题就成立。记住:刷到此类题先问"考的是共享还是独占?"