在 C++ STL 中,stack 的 pop() 函数会返回栈顶元素并将其删除。
STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】STL容器语义|函数返回值类型|void类型
1. 🎯 考纲定位 GESP六级《数据结构与算法》模块。命题人专攻"API记忆偏差",stack与vector的pop操作常被混同,70%考生会凭"pop=弹出"直觉选错。
2. 🧠 解题思维 看到"pop"先查标准定义。STL规定pop()返回void,仅删除元素;top()才返回栈顶。通用通法:对任何STL函数,先确认"返回类型+副作用",避免用Python经验迁移C++。
3. 🪤 陷阱拆解 A选项陷阱在于"返回"二字偷换概念——C++中只有top/front等查询函数才返回元素,pop/push/clear等修改函数均返回void。若只背"pop删除",就会忽略返回值语义。
4. 🔄 反命题思维 改题示例:若题干改为"stack::top()返回栈顶元素",答案即变A;若问"pop()返回void",答案变A。刷到此类题先自问"该函数是否属于修改操作",防思维惯性。