當前位置:網站首頁>判斷是否為void類型

判斷是否為void類型

2022-07-23 09:28:02發如雪-ty

c++標准庫中有一個類模板is_void ,用來判斷某個類型是不是void類型。在main()函數中做一些測試:

int main()
{
    
	cout << std::is_void<int>::value << endl;
	cout << std::is_void<void>::value << endl;
	system("pause");
	return 0;
}

結果:
在這裏插入圖片描述
那is_void是怎麼實現的呢?其實,is_void就可以看作是一個值萃取模板。

template<typename T>
struct TraitsVoid 
{
    
	static const int value = 0;
};

template<>
struct TraitsVoid<void>
{
    
	static const int value = 1;
};

int main()
{
    
	cout << TraitsVoid<int>::value << endl;
	cout << TraitsVoid<void>::value << endl;
	system("pause");
	return 0;
}

結果:
在這裏插入圖片描述

版權聲明
本文為[發如雪-ty]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207230133255553.html

隨機推薦