Way to C++: 4. Auto close (雜)
上一篇
目標: 自動關閉檔案
現在來想一想,怎麼做到自動關閉檔案,以 FILE* 為基礎。這篇有一些假設性的想法,主要是熟悉更多語法。
std::unique_ptr
unique_ptr 就有提供自定刪除子,所以我們可以這樣寫:
std::unique_ptr<FILE*> fp(fopen(filename), [](FILE* fp){
if (fp == NULL) return;
fclose(fp);
});
在不需要考慮 fopen 開檔案失敗 (但通常要考慮,這...
notes.mukyu.dev1 min read