Большинство реализаций std::string (включая GCC) используют небольшую оптимизацию строк. Например. есть ответ, обсуждающий это.
Сегодня я решил проверить, в какой момент строка в компилируемом мной коде перемещается в кучу. К моему удивлению, мой тестовый код показывает, что никакой оптимизации небольших строк вообще не происходит!
Код:
#include
#include
using std::cout;
using std::endl;
int main(int argc, char* argv[]) {
std::string s;
cout
Подробнее здесь: https://stackoverflow.com/questions/460 ... n-with-gcc