C# コーダーは、ファイルからテキストを取得するための単純な C++ メソッドを作成しました。
static std::vector<std::string> readTextFile(const std::string &filePath) {
std::string line;
std::vector<std::string> lines;
std::ifstream theFile(filePath.c_str());
while (theFile.good()) {
getline (theFile, line);
lines.push_back(line);
}
theFile.close();
return lines;
}
このコードが効率的でないことはわかっています。テキスト行は、読み取られるときに 1 回コピーされ、値によって返されるときに 2 回コピーされます。
2 つの質問:
(1) このコードはメモリリークを起こしますか? (2) より一般的に、オブジェクトのコンテナーを値で返すと、メモリ リークが発生することがありますか? (オブジェクト自体がリークしないと仮定)