自从我使用 C++ 以来已经有一段时间了,请原谅我的新手问题。
我编写了以下代码来获取目录内容的列表,它工作正常:
for (directory_iterator end, dir("./");
dir != end; dir++) {
std::cout << *dir << std::endl;
}
“*dir”返回什么,一个“char array”指针,一个指向“string”对象的指针,还是一个指向“path”对象的指针?
我想将“*dir”(如果它以 .cpp 结尾)传递给另一个函数(),该函数将在稍后(异步)对其进行操作。我想我需要复制“*dir”。我写了以下代码:
path *_path;
for (directory_iterator end, dir("./");
dir != end; dir++) {
_path = new path(*dir);
if (_path->extension() == ".cpp") {
function1(_path); // function1() will free _path
} else
free(_path);
}
谢谢你,艾哈迈德。