Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

is_const เทมเพลตใน C++


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของเทมเพลต std::is_const ใน C++ STL

เทมเพลต is_const ใน C++ ใช้เพื่อตรวจสอบว่าประเภทที่กำหนดเป็นประเภทที่ผ่านการรับรองหรือไม่

ประเภทที่มีคุณสมบัติเป็น const คืออะไร

เราเรียกประเภทว่าเป็นคอนเทนต์ที่มีคุณสมบัติเมื่อค่าของประเภทเป็นค่าคงที่ ประเภทข้อมูลคงที่เป็นประเภทที่เมื่อกำหนดค่าเริ่มต้นแล้วจะไม่สามารถเปลี่ยนแปลงหรือเปลี่ยนแปลงได้ตลอดทั้งโปรแกรม

ไวยากรณ์

template <class T> is_const;

พารามิเตอร์

เทมเพลตสามารถมีได้เฉพาะพารามิเตอร์ประเภท T และตรวจสอบว่าประเภทที่กำหนดเป็น constqualifier หรือไม่

คืนค่า

ส่งคืนค่าบูลีนเป็น true หากประเภทที่กำหนดเป็น const-qualifier และ false หากประเภทที่กำหนดไม่ใช่ const-qualifier

ตัวอย่าง

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