[英]C++ stl, functions with no return type
template<typename _Tp1>
operator auto_ptr_ref<_Tp1>() throw()
{ return auto_ptr_ref<_Tp1>(this->release()); }
template<typename _Tp1>
operator auto_ptr<_Tp1>() throw()
{ return auto_ptr<_Tp1>(this->release()); }
我在stl類auto_ptr中找到了這兩個方法的定義。
有人可以解釋一下,其他函數如何構造函數沒有返回類型?
因為它們是隱式轉換運算符,分別返回auto_ptr_ref<_Tp1>
和auto_ptr<_Tp1>
。 這些本身用作返回類型聲明。
轉換運算符以鍵入auto_ptr_ref
和auto_ptr
n3337 12.3.2 / 1
類X的成員函數,沒有帶有表單名稱的參數
conversion-function-id:operator conversion-type-id
conversion-type-id:type-specifier-seq conversion-declaratoropt
conversion-declarator:ptr-operator conversion-declaratoropt
指定從X到convert-type-id指定的類型的轉換 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.