大多数std::string实现(包括GCC)使用小字符串优化。例如。有一个answer讨论这一点。 今天,我决定检查我编译的代码中的一个字符串被移到堆中的哪一点。令我惊讶的是,我的测试代码似乎显示根本没有发生小字符串优化! 代码: #include <iostream>
#include <string>
using std::cout;
using std::endl;
int m
考虑下面的代码: void Main()
{
MemoryContainer mc = new MemoryContainer(0);
for (byte i = 1; i < 100; i++)
{
mc = new MemoryContainer(i);
}
}
class MemoryContainer
{
publi