簡體   English   中英

c ++ stl庫帶下划線的這些方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM