GESP 八级 · GESP 202603 C++ 八级 第 16 题

判断题 · 答案 B

← 整套速查表 GESP 八级 全部真题

题目

在 C++ 中,若结构体中包含一个 static 成员变量,则该变量的存储空间属于结构体对象的一部分。( )

答案:B

解题思维

仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。

常见错误

审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。

详细解析(节选)

【考点】C++ 静态成员 | 类对象存储 | 内存布局

1. 考纲定位 C++ 八级要求掌握类成员分类,本题卡住的是"静态成员属于类而非对象"这一核心概念。命题人专攻考生对 static 语义的模糊认知——多数学生误以为所有成员变量都绑定到对象。

2. 解题思维 看到 static 先想"共享",再想"不属于某具体对象"。静态成员变量在编译期确定为单份存储,放在全局数据区(.bss/.data),而非堆栈上。实例成员的每份拷贝才占用对象存储,这是对象构造时 new 出来的。

3. 陷阱拆解 命题人用"属于结构体对象"制造绝对化陷阱。若你只背"静态成员"四个字,就会误选 A;真正理解"对象"与"类"的区别,才能识破。最阴险的是"结构体对象"四个字——它暗示每个对象都有自己的一份,但静态成员恰恰是所有对象共用一份。

4. 反命题思维 反推:若把 static 改成普通成员,存储归属立刻变回对象;若把"结构体对象"换成"类类型",命题就成立。记住:刷到此类题先问"考的是共享还是独占?"

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断