欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

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

__if_exists ( identifier ) { 
statements
};

參數(shù)

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

備注
若要實現(xiàn)最可靠的結(jié)果,請在以下約束條件下使用 __if_exists 語句。
只將 __if_exists 語句應(yīng)用于簡單類型,而不是模板。
將 __if_exists 語句應(yīng)用于類的內(nèi)部或外部的標(biāo)識符。請勿將 __if_exists 語句應(yīng)用于局部變量。
請僅在函數(shù)的主體中使用該 __if_exists 語句。在函數(shù)主體外部,__if_exists 語句僅能測試完全定義的類型。
在測試重載函數(shù)時,不能測試特定形式的重載。
__if_exists 語句的補(bǔ)集是 __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 語句測試指定的標(biāo)識符是否存在。如果該標(biāo)識符不存在,則執(zhí)行指定的語句塊。
語法

__if_not_exists ( identifier ) { 
statements
};

參數(shù)

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

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

上一篇:C++運(yùn)行時獲取類型信息的type_info類與bad_typeid異常

欄    目:C語言

下一篇:解析C++編程中的bad_cast異常

本文標(biāo)題:C++編程中__if_exists與__if_not_exists語句的用法

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2562.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有