以下のコードのセクションで、スワップ後のメモリ構造はどうなるでしょうか? 下のメモリアドレスがスワップされているため、リークはありますか? 彼らはディープコピーをしたので大丈夫でしょうか?このコードがクラス内でスタックしていて、作業バッファーを動的メモリの一部と交換していたらどうなるでしょうか?
#include <iostream>
#include <vector>
int main()
{
std::vector<std::string> * ptr_str_vec =
new std::vector<std::string>();
ptr_str_vec->push_back("Hello");
std::vector<std::string> str_vec;
str_vec.push_back("World");
ptr_str_vec->swap(str_vec);
delete ptr_str_vec;
//What would be the resulting structures?
return 0;
}
編集:わずかに欠陥のあるコードを投稿しました。エラーを修正しました。