最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++編程中__if_exists與__if_not_exists語句的用法

 更新時間:2016年01月16日 15:02:53   投稿:goldensun  
這篇文章主要介紹了C++編程中__if_exists與__if_not_exists語句的用法,是C++中用于判斷指定的標識符是否存在的基礎(chǔ)的條件判斷語句,需要的朋友可以參考下

__if_exists 語句
__if_exists 語句測試指定的標識符是否存在。如果該標識符存在,則執(zhí)行指定的語句塊。
語法

__if_exists ( identifier ) { 
statements
};

參數(shù)

參數(shù) 說明
identifier 要測試其存在性的標識符。
statements identifier 存在時要執(zhí)行的一個或多個語句。

備注
若要實現(xiàn)最可靠的結(jié)果,請在以下約束條件下使用 __if_exists 語句。
只將 __if_exists 語句應(yīng)用于簡單類型,而不是模板。
將 __if_exists 語句應(yīng)用于類的內(nèi)部或外部的標識符。請勿將 __if_exists 語句應(yīng)用于局部變量。
請僅在函數(shù)的主體中使用該 __if_exists 語句。在函數(shù)主體外部,__if_exists 語句僅能測試完全定義的類型。
在測試重載函數(shù)時,不能測試特定形式的重載。
__if_exists 語句的補集是 __if_not_exists 語句。
請注意,此示例使用了模板,不建議這樣做。

// the__if_exists_statement.cpp
// compile with: /EHsc
#include <iostream>

template<typename T>
class X : public T {
public:
  void Dump() {
   std::cout << "In X<T>::Dump()" << std::endl;

   __if_exists(T::Dump) {
     T::Dump();
   }

   __if_not_exists(T::Dump) {
     std::cout << "T::Dump does not exist" << std::endl;
   }
  }  
};

class A {
public:
  void Dump() {
   std::cout << "In A::Dump()" << std::endl;
  }
};

class B {};

bool g_bFlag = true;

class C {
public:
  void f(int);
  void f(double);
};

int main() { 
  X<A> x1;
  X<B> x2;

  x1.Dump();
  x2.Dump();

  __if_exists(::g_bFlag) {
   std::cout << "g_bFlag = " << g_bFlag << std::endl;
  }

  __if_exists(C::f) {
   std::cout << "C::f exists" << std::endl;
  }

  return 0;
}

Output

In X<T>::Dump()
In A::Dump()
In X<T>::Dump()
T::Dump does not exist
g_bFlag = 1
C::f exists

 

__if_not_exists 語句
__if_not_exists 語句測試指定的標識符是否存在。如果該標識符不存在,則執(zhí)行指定的語句塊。
語法

__if_not_exists ( identifier ) { 
statements
};

參數(shù)

參數(shù) 說明
identifier 要測試其存在性的標識符。
statements identifier 不存在時要執(zhí)行的一個或多個語句。

備注
若要實現(xiàn)最可靠的結(jié)果,請在以下約束條件下使用 __if_not_exists 語句。
只將 __if_not_exists 語句應(yīng)用于簡單類型而不是模板。
將 __if_not_exists 語句應(yīng)用于類的內(nèi)部或外部的標識符。不要將 __if_not_exists 語句應(yīng)用于局部變量。
僅在函數(shù)的主體中使用 __if_not_exists 語句。在函數(shù)主體的外部,__if_not_exists 語句僅能測試完全定義的類型。
在測試重載函數(shù)時,不能測試特定形式的重載。
__if_not_exists 語句的補集為 __if_exists 語句。

相關(guān)文章

  • 詳解C語言中printf輸出的相關(guān)函數(shù)

    詳解C語言中printf輸出的相關(guān)函數(shù)

    這篇文章主要介紹了C語言中printf輸出的相關(guān)函數(shù)總結(jié),是C語言入門學(xué)習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • C++多線程std::call_once的使用

    C++多線程std::call_once的使用

    本文主要介紹了C++多線程std::call_once的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言實現(xiàn)獲取內(nèi)存信息并輸出的實例

    C語言實現(xiàn)獲取內(nèi)存信息并輸出的實例

    這篇文章主要介紹了C語言實現(xiàn)獲取內(nèi)存信息并輸出的實例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C++實現(xiàn)將s16le的音頻流轉(zhuǎn)換為float類型

    C++實現(xiàn)將s16le的音頻流轉(zhuǎn)換為float類型

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)將s16le的音頻流轉(zhuǎn)換為float類型,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-04-04
  • C語言基于考研的棧和隊列

    C語言基于考研的棧和隊列

    這篇文章主要介紹了考研時的C語言中的堆棧和隊列的相關(guān)資料,需要的朋友可以參考下,小編覺得這篇文章寫的很好,希望能給你帶來幫助
    2021-08-08
  • 淺析C++中的多線程編程

    淺析C++中的多線程編程

    這篇文章主要為大家詳細介紹了C++中的多線程編程,包括創(chuàng)建線程、同步線程、傳遞數(shù)據(jù)給線程以及異常處理等方面,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2023-10-10
  • 使用C++中string實現(xiàn)任意長度的正小數(shù)、整數(shù)之間加減法方法實例

    使用C++中string實現(xiàn)任意長度的正小數(shù)、整數(shù)之間加減法方法實例

    這篇文章主要介紹了利用C++中string函數(shù)實現(xiàn)任意長度的正小數(shù)、整數(shù)之間加減法方法實例,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學(xué)習價值,需要的朋友們下面跟著小編一起來學(xué)習學(xué)習吧。
    2017-06-06
  • C++寫Linux框架示例解析

    C++寫Linux框架示例解析

    這篇文章主要為大家介紹了C++實現(xiàn)Linux框架示例代碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 使用VS2010創(chuàng)建MFC ActiveX工程項目

    使用VS2010創(chuàng)建MFC ActiveX工程項目

    VS2010開發(fā)ActiveX有兩種方法,分別是MFC和ATL。MFC開過起來比較簡單,但是最終生成的文件比較大,ATL是專門用來開發(fā)ActiveX的,但是相對比較難,必須知道很多原理機制和API。咱先從MFC開發(fā)ActiveX開始吧。
    2015-06-06
  • C++中的boost::function庫簡介

    C++中的boost::function庫簡介

    這篇文章介紹了C++中的boost::function庫,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2022-06-06

最新評論

集安市| 南昌市| 宁都县| 安化县| 黎川县| 双江| 汨罗市| 阿瓦提县| 钦州市| 阳原县| 永康市| 邵东县| 苍溪县| 云林县| 牡丹江市| 上思县| 敦煌市| 黔西| 孝义市| 伊川县| 义马市| 获嘉县| 淅川县| 惠州市| 湘潭县| 淮北市| 崇礼县| 廊坊市| 江川县| 武鸣县| 德清县| 长治市| 满城县| 德昌县| 宁海县| 灵丘县| 合江县| 安庆市| 元阳县| 正阳县| 托里县|