名稱空間
變體
操作

std::filesystem::directory_entry::directory_entry

來自 cppreference.com
 
 
 
 
directory_entry() noexcept = default;
(1) (C++17 起)
directory_entry( const directory_entry& ) = default;
(2) (C++17 起)
directory_entry( directory_entry&& ) noexcept = default;
(3) (C++17 起)
explicit directory_entry( const std::filesystem::path& p );
(4) (C++17 起)
directory_entry( const std::filesystem::path& p, std::error_code& ec );
(5) (C++17 起)

構造一個新的 directory_entry 物件。

1) 預設建構函式。
2) 預設複製建構函式。
3) 預設移動建構函式。
4,5) 使用路徑 p 初始化目錄條目,並呼叫 refresh 更新快取屬性。如果發生錯誤,非丟擲過載將使 directory_entry 持有預設構造的路徑。

[edit] 引數

p - 目錄條目將引用的檔案系統物件的路徑
ec - 非丟擲過載中用於錯誤報告的出參

[edit] 異常

任何未標記為 noexcept 的過載都可能在記憶體分配失敗時丟擲 std::bad_alloc

1-4) 在底層作業系統 API 錯誤時丟擲 std::filesystem::filesystem_error,構造時以 p 作為第一個路徑引數,作業系統錯誤碼作為錯誤碼引數。
5) 如果作業系統 API 呼叫失敗,則將 std::error_code& 引數設定為作業系統 API 錯誤碼;如果未發生錯誤,則執行 ec.clear()

[edit] 示例