[英]c++ stl library what are these methods with underscores?
我有一些互聯網上沒有任何cpp參考書中引用的方法
例如,在“內存”中,Shared_ptr的方法稱為“ _Expired”
如果ptr是否過期,它將返回一個布爾值
我以為只有weakptr有這個...
它們是實現的一部分,是內部功能。 通過使用以_開頭和大寫字母的名稱,它們被定義為“特定於實現”。 普通代碼不應使用_ +大寫名稱,因此對於實現使用此類名稱是“安全的”。
請注意,您無法從這些類型的方法,成員變量等中獲得任何“有意義的”信息,因為它是實現的一部分,在不同的系統或使用不同的編譯器,甚至在不同版本的Windows XP中,它們也將有所不同。相同的STL實現。
確切的說明特定實現方式的原因將取決於該實現的設計者。 也許他們正在與弱指針共享共享指針實現?
(用於g ++ 4.6.3的STL沒有這種特殊的構造!)
在STL方法/類中,有許多函數都以下划線和大寫字母(ig _Expired())開頭。 它們主要為內部使用而實現,對高級程序員是隱藏的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.