由于SSO是一种可选的优化方式,因此没有一种标准方法可以将其关闭。 实际上,你可以只需保留一个无法适应SSO缓冲区的字符串,就可以强制动态分配缓冲区:std::string str; str.reserve(sizeof(str) + 1); 至少在gcc上似乎可以工作,而且应该可以在可移植的情况下工作,因为内部缓冲区需要适合字符串。(在线演示)