C# coder 刚刚编写了这个简单的 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) 更一般地说,按值返回对象容器是否会泄漏内存?(假设对象本身不泄漏)