इस (कृत्रिम) उदाहरण पर विचार करें:'अस्थिर char [] `के रूप में परिभाषित स्ट्रिंग के लिए ओस्ट्रीम प्रिंट` 1` क्यों करता है?
#include <cstdio>
#include <iostream>
int main() {
volatile char test[] = "abc";
std::printf("%s\n", test);
std::cout << test << "\n";
}
जीसीसी और चल रहा है के साथ यह संकलन निम्नलिखित उत्पादन देता है:
$ g++ test.cc
$ ./a.out
abc
1
आप printf
प्रिंट स्ट्रिंग सही ढंग से करते हुए cout
प्रिंट 1
देख सकते हैं। इस मामले में पर 1
क्यों लिखता है?
'अस्थिर चार [N]' 'मैचों बेहतर था bool' एन 'कॉन्स चार *'। असल में, यह बिल्कुल 'कॉन्स्ट char *' से मेल नहीं खाता है। – chris
@ शार्थ महान पकड़, मैंने एक डुप्ली की तलाश भी नहीं की। वे काफी करीब हैं वे एक अच्छा विलय कर सकते हैं। –