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_fundaries trong C ++ STL.
is_ basic là một mẫu nằm trong tệp tiêu đề
Loại cơ bản là gì?
Các kiểu cơ bản là các kiểu tích hợp sẵn đã được khai báo trong chính trình biên dịch. Như int, float, char, double, v.v. Chúng còn được gọi là kiểu dữ liệu tích hợp.
Tất cả các kiểu dữ liệu do người dùng định nghĩa như:class, enum, struct, tham chiếu hoặc con trỏ, không phải là một phần của kiểu cơ bản.
Cú pháp
template <class T> is_fundamental;
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à kiểu lớp cuối cùng hay không.
Giá trị trả về
Nó trả về giá trị Boolean, true nếu kiểu đã cho là kiểu dữ liệu cơ bản và false nếu kiểu đã cho không phải là kiểu dữ liệu cơ bản.
Ví dụ
Input: class final_abc; is_fundamental<final_abc>::value; Output: False Input: is_fundamental<int>::value; Output: True Input: is_fundamental<int*>::value; Output: False
Ví dụ
#include <iostream> #include <type_traits> using namespace std; class TP { //TP Body }; int main() { cout << boolalpha; cout << "checking for is_fundamental:"; cout << "\nTP: "<< is_fundamental<TP>::value; cout << "\nchar :"<< is_fundamental<char>::value; cout << "\nchar& :"<< is_fundamental<char&>::value; cout << "\nchar* :"<< is_fundamental<char*>::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_fundamental: TP: false char : true char& : false char* : false
Ví dụ
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_fundamental:"; cout << "\nint: "<< is_fundamental<int>::value; cout << "\ndouble :"<< is_fundamental<double>::value; cout << "\nint& :"<< is_fundamental<int&>::value; cout << "\nint* :"<< is_fundamental<int*>::value; cout << "\ndouble& :"<< is_fundamental<double&>::value; cout << "\ndouble* :"<< is_fundamental<double*>::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_fundamental: int: true double : true int& : false int* : false double& : false double* : false