is_const C++ 中的模板
在本文中,我們將討論 C++ STL 中 std::is_const 模板的工作原理、語法和示例。
C++ 中的 is_const 模板用於檢查定義的型別是否為 const 限定型別。
什麼是 const 限定型別?
當某個型別的變數值保持不變時,我們稱該型別為 const 限定型別。常量資料型別是一種型別,一旦值在一個 const 變數中初始化,則不能在整個程式中更改或修改。
語法
template <class T> is_const;
引數
該模板僅可以有一個型別為 T 的引數,並檢查給定的型別是否為 const 限定型別
返回值
它返回一個布林值,如果給定的型別是一個 const 限定型別,則返回 true,否則返回 false。
示例
Input: is_const<const int>::value; Output: True Input: is_const<int>::value; Output: False
示例
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_const template: "; cout << "\nInt : "<<is_const<int>::value; cout << "\nConst int : "<< is_const<const int>::value; cout << "\nConst int& : "<< is_const<const int&>::value; return 0; }
輸出
如果執行上述程式碼,它將生成以下輸出:
checking for is_const template: Int : false Const int : true Const int& : false
示例
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_const template: "; cout << "\nFloat : "<<is_const<float>::value; cout << "\nChar : "<<is_const<char>::value; cout << "\nFloat *: "<<is_const<float*>::value; cout << "\nChar *: "<<is_const<char*>::value; cout << "\nConst int* : "<< is_const<const int*>::value; cout << "\nint* const : "<< is_const<int* const>::value; return 0; }
輸出
如果執行上述程式碼,它將生成以下輸出:
checking for is_const template: Float : false Char: false Float *: false Char *: fakse Const int* : false int* const: true
廣告