标签: c++ string
我想我听说字符串有一些叫做“小字符串优化”的东西,这是一种避免分配的方法。我可以通过这样的方式完全避免分配:
auto s = "hello" + "world!"s;
而不是:
auto s = "hello, world!"s;
答案 0 :(得分:1)
不,那不会奏效。 SSO意味着在字符串对象内存储没有指针的短字符串。一旦你连接两个短字符串,它就不合适。有些字符串类在内部有更大的缓冲区,以防你需要一个为31个字符执行SSO。