std::string 串联操作
std::string concatenation operations
其实我想知道 std::string
operator+=
和 append
方法有什么不同。乍一看,他们解决了同样的问题。
在我的例子中,结果字符串是从不同的字符串编译而来的,这些函数中哪个更有效或更合适?或者我应该改用 std::stringstream
吗?
我怎么看,std::string
和std::vector
(capacity
、reserve
等方法)有很多共同点,可以在追加操作中重新分配。
嗯,the standard 说:
constexpr basic_string& operator+=(const basic_string& str);
Effects: Equivalent to: return append(str);
所以我会说他们完成了同样的事情。
其实我想知道 std::string
operator+=
和 append
方法有什么不同。乍一看,他们解决了同样的问题。
在我的例子中,结果字符串是从不同的字符串编译而来的,这些函数中哪个更有效或更合适?或者我应该改用 std::stringstream
吗?
我怎么看,std::string
和std::vector
(capacity
、reserve
等方法)有很多共同点,可以在追加操作中重新分配。
嗯,the standard 说:
constexpr basic_string& operator+=(const basic_string& str);
Effects: Equivalent to:
return append(str);
所以我会说他们完成了同样的事情。