Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Да, Гугль тоже можно причислить к ненормальнымя наверное что-то не понял, это здесь вообще к чему?
struct Temporary
{
~Temporary() {
remove(path);
}
const ::path path;
};
void copy_file_tr(const path& from, const path& to) {
Temporary tmp {to+".deleteme"};
copy_file(from, tmp.path);
rename(tmp.path, to);
}
std::unique_ptr<const char, decltype(remove1)*> autodelete(tmp.c_str(), remove);
Но даже это не нужно, потому чтоTemporary — вполне самостоятельный класс, и совершенно непонятно, почему это не нужно его выделить?
Декларативное программирование на C++