C++ 11's std :: shared_ptr <> cung cấp một loại toán tử bool.Tại sao không std :: weak_ptr <> cung cấp một chuyển đổi bool?
operator unspecified-bool-type() const;
(Nó không phải là một thẳng lên operator bool() const
do dangers from implicit casting loại bool
.)
Tại sao không std :: weak_ptr <> có một nhà điều hành tương tự? Tôi thấy mình liên tục gõ
if(!wp.expired())
khi tôi muốn gõ
if(wp)
Tại sao không chuyển đổi bool cho weak_ptr?
Vì các tính năng không được triển khai theo mặc định? –
'toán tử bool' bây giờ có thể được thực hiện một cách an toàn ngay lập tức trong C++ 11: http://stackoverflow.com/a/6242355/46642 –