C++
मूल प्रकार कीवर्ड
खोज…
पूर्णांक
"निष्पादन पर्यावरण की वास्तुकला द्वारा सुझाए गए प्राकृतिक आकार" के साथ एक हस्ताक्षरित पूर्णांक प्रकार को दर्शाता है, जिसकी सीमा में कम से कम -32767 से +32767 शामिल हैं।
int x = 2;
int y = 3;
int z = x + y;
अन्य पूर्णांक प्रकारों को प्राप्त करने के लिए, unsigned
, short
, long
और long long
(qv) के साथ जोड़ा जा सकता है।
bool
एक पूर्णांक प्रकार जिसका मान या तो true
या false
हो सकता है।
bool is_even(int x) {
return x%2 == 0;
}
const bool b = is_even(47); // false
चार
एक पूर्णांक प्रकार जो "कार्यान्वयन के मूल चरित्र सेट के किसी भी सदस्य को संग्रहीत करने के लिए पर्याप्त बड़ा है"। यह कार्यान्वयन-परिभाषित है कि क्या char
पर हस्ताक्षर किए गए हैं (और इसमें कम से कम -127 से +127, समावेशी) या अहस्ताक्षरित (और कम से कम 0 से 255, समावेशी की सीमा है)।
const char zero = '0';
const char one = zero + 1;
const char newline = '\n';
std::cout << one << newline; // prints 1 followed by a newline
char16_t
एक समान आकार और पूर्णांक के साथ एक अहस्ताक्षरित पूर्णांक प्रकार uint_least16_t
रूप में uint_least16_t
, जो कि UTF-16 कोड इकाई को धारण करने के लिए पर्याप्त बड़ा है।
const char16_t message[] = u"你好,世界\n"; // Chinese for "hello, world\n"
std::cout << sizeof(message)/sizeof(char16_t) << "\n"; // prints 7
char32_t
एक बिना आकार वाला पूर्णांक प्रकार uint_least32_t
के समान आकार और संरेखण के साथ uint_least32_t
, जो कि UTF-32 कोड इकाई रखने के लिए पर्याप्त बड़ा होता है।
const char32_t full_house[] = U"🂣🂳🂨🂸🃈"; // non-BMP characters
std::cout << sizeof(full_house)/sizeof(char32_t) << "\n"; // prints 6
नाव
एक अस्थायी बिंदु प्रकार। C ++ में तीन फ्लोटिंग पॉइंट प्रकारों में से सबसे संकीर्ण रेंज है।
float area(float radius) {
const float pi = 3.14159f;
return pi*radius*radius;
}
दोहरा
एक अस्थायी बिंदु प्रकार। इसकी रेंज में float
शामिल है। long
के साथ संयुक्त होने long
, long double
फ्लोटिंग पॉइंट प्रकार को दर्शाता है, जिसकी सीमा में double
शामिल है।
double area(double radius) {
const double pi = 3.141592653589793;
return pi*radius*radius;
}
लंबा
एक हस्ताक्षरित पूर्णांक प्रकार को दर्शाता है जो कम से कम int
रूप में लंबे समय तक है, और जिसकी सीमा में कम से कम -2147483647 से +2147483647, समावेशी (यानी, - (2 ^ 31 - 1) से + (2 ^ 31 - 1) शामिल हैं। इस प्रकार को long int
रूप में भी लिखा जा सकता है।
const long approx_seconds_per_year = 60L*60L*24L*365L;
संयोजन long double
फ्लोटिंग पॉइंट प्रकार को दर्शाता है, जिसमें तीन फ्लोटिंग पॉइंट प्रकारों में से सबसे चौड़ी सीमा होती है।
long double area(long double radius) {
const long double pi = 3.1415926535897932385L;
return pi*radius*radius;
}
जब long
निर्दिष्ट दो बार होता है, तो long long
रूप में, यह एक हस्ताक्षरित पूर्णांक प्रकार को दर्शाता है जो कम से कम लंबे long
, और जिसकी सीमा में कम से कम -22227207208585757 से +9223372036854747807, समावेशी (अर्थात, - (2 ^ 63 - 63) शामिल हैं। 1) से + (2 ^ 63 - 1))।
// support files up to 2 TiB
const long long max_file_size = 2LL << 40;
कम
एक हस्ताक्षरित पूर्णांक प्रकार को निरूपित करता है जो कम से कम char
रूप में लंबे समय तक है, और जिसकी सीमा में कम से कम -32767 से +32767 शामिल हैं। इस प्रकार को short int
रूप में भी लिखा जा सकता है।
// (during the last year)
short hours_worked(short days_worked) {
return 8*days_worked;
}
शून्य
एक अपूर्ण प्रकार; यह संभव एक वस्तु प्रकार है करने के लिए नहीं है void
, और न ही की वहाँ सरणियों हैं void
या संदर्भ के लिए void
। यह रिटर्न प्रकार के कार्यों के रूप में उपयोग किया जाता है जो कुछ भी वापस नहीं करते हैं।
इसके अलावा, एक समारोह प्रचुरता से प्रकार की एक एकल पैरामीटर के साथ घोषित किया जा सकता है void
; यह बिना किसी पैरामीटर (जैसे int main()
और int main(void)
समान फ़ंक्शन को घोषित करने के साथ एक फ़ंक्शन घोषित करने के बराबर है)। सी के साथ संगतता के लिए इस सिंटैक्स की अनुमति है (जहां फ़ंक्शन घोषणाओं का सी ++ की तुलना में एक अलग अर्थ है)।
प्रकार void*
("पॉइंटर टू void
") में संपत्ति है कि किसी भी ऑब्जेक्ट पॉइंटर को इसे और पीछे और उसी पॉइंटर में परिणाम के रूप में परिवर्तित किया जा सकता है। यह सुविधा कुछ प्रकार (प्रकार-असुरक्षित) प्रकार-मिटा इंटरफेस के लिए प्रकार को void*
उपयुक्त बनाती है, उदाहरण के लिए सी-शैली एपीआई (जैसे qsort
, pthread_create
) में जेनेरिक संदर्भों के लिए।
कोई भी अभिव्यक्ति प्रकार void
की अभिव्यक्ति में परिवर्तित हो सकती है; इसे त्याग-मूल्य अभिव्यक्ति कहा जाता है:
static_cast<void>(std::printf("Hello, %s!\n", name)); // discard return value
यह स्पष्ट रूप से संकेत देने के लिए उपयोगी हो सकता है कि एक अभिव्यक्ति का मूल्य ब्याज का नहीं है और यह कि अभिव्यक्ति का मूल्यांकन केवल इसके दुष्प्रभावों के लिए किया जाना है।
wchar_t
एक पूर्णांक प्रकार काफी बड़ा है जो सबसे बड़े समर्थित विस्तारित वर्ण सेट के सभी वर्णों का प्रतिनिधित्व करता है, जिसे विस्तृत वर्ण सेट के रूप में भी जाना जाता है। (यह अनुमान wchar_t
पोर्टेबल नहीं है कि wchar_t
किसी विशेष एन्कोडिंग का उपयोग करता है, जैसे UTF-16)।
जब आप ASCII 255 पर वर्णों को संग्रहीत करने की आवश्यकता होती है, तो इसका सामान्य रूप से उपयोग किया जाता है, क्योंकि इसमें वर्ण प्रकार char
से अधिक आकार होता है।
const wchar_t message_ahmaric[] = L"ሰላም ልዑል\n"; //Ahmaric for "hello, world\n"
const wchar_t message_chinese[] = L"你好,世界\n";// Chinese for "hello, world\n"
const wchar_t message_hebrew[] = L"שלום עולם\n"; //Hebrew for "hello, world\n"
const wchar_t message_russian[] = L"Привет мир\n"; //Russian for "hello, world\n"
const wchar_t message_tamil[] = L"ஹலோ உலகம்\n"; //Tamil for "hello, world\n"