欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++中typename和class的區(qū)別介紹

 更新時間:2013年03月04日 08:48:09   作者:  
在c++Template中,很多地方都用到了typename與class這兩個關(guān)鍵字,而且好像可以替換,是不是這兩個關(guān)鍵字完全一樣呢?

相信學(xué)習(xí)C++的人對class這個關(guān)鍵字都非常明白,class用于定義類。在模板引入c++后,最初定義模板的方法為: template<class T>......

在這里class關(guān)鍵字表明T是一個類型,后來為了避免class在這兩個地方的使用可能給人帶來混淆,所以引入了typename這個關(guān)鍵字。它的作用同
class一樣表明后面的符號為一個類型,這樣在定義模板的時候就可以使用下面的方式了: template<typename T>......

在模板定義語法中關(guān)鍵字class與typename的作用完全一樣。

typename難道僅僅在模板定義中起作用嗎?其實不是這樣,typename另外一個作用為:使用嵌套依賴類型(nested depended name),如下所示:

復(fù)制代碼 代碼如下:

class MyArray
{
public:
    typedef int LengthType;
    .....
}

template<class T>
void MyMethod( T myarr )
{
    typedef typename T::LengthType LengthType;
    LengthType length = myarr.GetLength;
}


這個時候typename的作用就是告訴c++編譯器,typename后面的字符串為一個類型名稱,而不是成員函數(shù)或者成員變量,這個時候如果前面沒有typename,編譯器沒有任何辦法知道T::LengthType是一個類型還是一個成員名稱(靜態(tài)數(shù)據(jù)成員或者靜態(tài)函數(shù)),所以編譯不能夠通過。

相關(guān)文章

  • C語言中的運算符和結(jié)合性問題

    C語言中的運算符和結(jié)合性問題

    這篇文章主要介紹了C語言中的運算符和結(jié)合性問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • C++實現(xiàn)從數(shù)組中同時取出最大最小元素算法示例

    C++實現(xiàn)從數(shù)組中同時取出最大最小元素算法示例

    這篇文章主要介紹了C++實現(xiàn)從數(shù)組中同時取出最大最小元素算法,結(jié)合具體實例形式分析了C++通過數(shù)組的遍歷、排序獲取最大與最小元素的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • C++中輸出十六進制形式的字符串

    C++中輸出十六進制形式的字符串

    這篇文章主要給大家介紹了C++中輸出十六進制形式的字符串,文中給出了詳細的介紹,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 詳解C++ Qt中堆疊窗體的使用案例

    詳解C++ Qt中堆疊窗體的使用案例

    這篇文章主要為大家詳細介紹了C++ Qt中堆疊窗體的使用案例,文中的示例代碼講解詳細,對我們學(xué)習(xí)QT有一定的幫助,感興趣的小伙伴可以了解一下
    2023-08-08
  • C++內(nèi)存泄漏及檢測工具詳解

    C++內(nèi)存泄漏及檢測工具詳解

    最簡單的方法當(dāng)然是借助于專業(yè)的檢測工具,比較有名如BoundsCheck,功能非常強大,相信做C++開發(fā)的人都離不開它。此外就是不使用任何工具,而是自己來實現(xiàn)對內(nèi)存泄露的監(jiān)控
    2013-10-10
  • 簡單了解C++常見編程問題解決方案

    簡單了解C++常見編程問題解決方案

    這篇文章主要介紹了C++常見編程問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 詳解如何配置CLion作為Qt5開發(fā)環(huán)境的方法

    詳解如何配置CLion作為Qt5開發(fā)環(huán)境的方法

    這篇文章主要介紹了詳解如何配置CLion作為Qt5開發(fā)環(huán)境的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 雙緩沖解決VC++繪圖時屏幕閃爍

    雙緩沖解決VC++繪圖時屏幕閃爍

    相信很多人在做圖形界面開發(fā)時,常常會遇到屏幕閃爍的情況,當(dāng)然我也不例外,下面我們就來詳細探討下這個問題的解決辦法
    2015-08-08
  • c++項目構(gòu)成從cmake使用基礎(chǔ)詳解

    c++項目構(gòu)成從cmake使用基礎(chǔ)詳解

    這篇文章主要為大家介紹了c++項目構(gòu)成,從cmake使用基礎(chǔ)開始為大家講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 關(guān)于C++STL string類的介紹及模擬實現(xiàn)

    關(guān)于C++STL string類的介紹及模擬實現(xiàn)

    這篇文章主要介紹了關(guān)于C++STL string類的介紹及模擬實現(xiàn)的相關(guān)資料,需要的朋友可以參考下面具體的文章內(nèi)容
    2021-09-09

最新評論