我想增加分配在堆栈上的std::string数据量。默认情况下应为16字节,我想要更多类似32字节的内容。我不确定如何进行:默认分配器的默认16个字节是否是一部分,以便更改分配器就足够了?还是使用boost::small_vector之类的东西会更快?

最佳答案

短字符串优化仅仅是一个优化。它根本没有被标准覆盖,这意味着要由各个标准库实现来决定是否使用它以及是否公开对其进行任何控制。请查阅标准库的文档。请注意,使用该代码将使您的代码不可移植。

我不知道有任何标准库实现公开对此功能的任何控制。

09-11 17:33