Trabalho Extra em C++ Moderno
O C++ moderno resolve isso de maneira diferente:
std::string s1 = "Cpp";
std::string s2 = s1; // Duplica os dados em s1.
- Os dados de
s1
no heap são duplicados es2
obtém sua própria cópia independente. - Quando
s1
es2
saem de escopo, cada um libera sua própria memória.
Antes da atribuição por cópia:
Após atribuição por cópia: