Сообщение от Дзен-трансгуманист
|
Моя первая нога. Ща уже точно не помню, но примерно так...
|
ОМГ, у тебя как минимум нет
delete [] pData.
/** open_file */
template <typename __type, typename __stream>
inline bool open_file (const std::string &name, __stream &open, std::ios_base::openmode mode = {})
{
open = make_unique<stream<__type>>(name);
auto file = &open->file;
(*file)->open(name, mode |= std::ios::binary);
return (*file)->is_open();
}
/** read_file */
inline const std::string read_file (const std::string &name)
{
std::string content;
std::unique_ptr<stream<std::ifstream>> open;
if (!open_file<std::ifstream>(name, open))
return content;
using buffer = std::istreambuf_iterator<char>;
content.assign((buffer(*open->file)), buffer());
return content;
}
make_unique есть в C++14, хотя он
легко и пишется
Сообщение от kobezzza
|
Clang объявил о 100% поддержке 14-го стандарта
|
Clang плохого не посоветует )