gpt4 book ai didi

c++ - 为什么 std::string::append() 不如 std::string::operator+() 强大?

转载 作者:可可西里 更新时间:2023-11-01 15:21:25 29 4
gpt4 key购买 nike

我注意到了

std::string str;
str += 'b'; // works
str.append('b'); // does not work
str.append(1, 'b'); // works, but not as nice as the previous

append 方法不支持追加单个字符有什么原因吗?我假设 operator+= 实际上是 append 方法的包装器,但事实似乎并非如此。

最佳答案

我认为 operator+=() 旨在处理所有简单情况(仅采用一个参数),而 append() 用于需要多个参数的情况一个参数。

我其实更惊讶存在单参数append(const basic_string& str)append(const CharT* s) 比关于 append( CharT c )缺失

另请注意我上面的评论:char 只是一个整数类型。向 append() 添加单参数整数类型重载——或者构造函数(根据设计,已经有几个整数类型重载)可能会引入歧义.

除非有人找到一些书面理由,或者一些委员会成员在这里张贴他们对讨论的内存,否则这可能是最好的解释。

关于c++ - 为什么 std::string::append() 不如 std::string::operator+() 强大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35646537/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com