簡體   English   中英

C ++ stl,函數沒有返回類型

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

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