Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của mẫu std ::is_const trong C ++ STL.
Mẫu is_const trong C ++ được sử dụng để kiểm tra xem kiểu được xác định có phải là kiểu đủ điều kiện const hay không.
Loại const-đủ điều kiện là gì?
Chúng tôi nói rằng một kiểu là một const-đủ điều kiện khi giá trị của kiểu là không đổi. Kiểu dữ liệu không đổi là kiểu mà khi một giá trị được khởi tạo trong một hằng số thì không thể thay đổi hoặc thay đổi được trong suốt chương trình.
Cú pháp
template <class T> is_const;
Tham số
Mẫu chỉ có thể có tham số kiểu T và kiểm tra xem kiểu đã cho có phải là hằng số hay không
Giá trị trả về
Nó trả về một giá trị Boolean, true nếu kiểu đã cho là một định nghĩa hằng số và sai nếu kiểu đã cho không phải là định nghĩa hằng số.
Ví dụ
Input: is_const<const int>::value; Output: True Input: is_const<int>::value; Output: False
Ví dụ
#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; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
checking for is_const template: Int : false Const int : true Const int& : false
Ví dụ
#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; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
checking for is_const template: Float : false Char: false Float *: false Char *: fakse Const int* : false int* const: true