关于 string 的成员函数,下面说法错误的是( )。
答案C。考点: 函数定义与调用——理解参数传递和返回
【考点】string 成员函数|逻辑判断
GESP 二级《C++ 编程》模块中,string 对象是必考内容,命题人专挑 empty() 的返回值方向设坑,90% 学生因背"空串返回 true"而误选。
逐项核对标准:size() 与 length() 均返回字符数(A、B 对);append(s2,0,3) 从下标 0 截取 3 字符(D 对);empty() 定义是"空串返回 true,非空返回 false",选项 C 说反了。
C 项是命题人最阴险的"反向表述"陷阱。若只记"empty 表示空"而忽略返回值方向,就会把 C 当成正确。这题考的不是语法,而是对函数契约的精确记忆——bool empty() 意味着"是否为空",空时返回 true,非空时返回 false。
若把 C 换成"empty() 返回 false 表示空串",那它就成了正确选项,题目就会变成"下列说法错误的是( )"的答案变成 A/B/D。这提醒我们,刷到这类题先问:"命题人想让我判断哪个函数行为反常识?"