C++相談室 part128 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/11/27(日) 00:03:49.04ID:Hj6igpz/!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ:
C++相談室 part127 http://echo.2ch.net/test/read.cgi/tech/1474636291/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
http://codepad.org/
http://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
■ shared_ptr で 標準ライブラリのFILE構造体ポインタをラップしよう
class FILE_Ptr : public shared_ptr<FILE> {
struct FILEDeleleter {
void operator() (FILE* fp) const { if (fp != NULL) { fclose(fp); }}
};
public:
FILE_Ptr(FILE* fp = NULL) : shared_ptr<FILE>(fp, FILEDeleleter()) {}
operator FILE* () { return get(); }
template<typename T> bool operator == (const T& obj) const { return get() == reinterpret_cast<FILE*>(obj); }
template<typename T> bool operator != (const T& obj) const { return get() != reinterpret_cast<FILE*>(obj); }
};
■ このスレッドは過去ログ倉庫に格納されています