Avatar ·

क्या C++ में एक अनइनिशियलाइज़्ड bool प्रोग्राम को क्रैश कर सकता है?

नमस्ते! मैंने हाल ही में C++ सीखना शुरू किया है और एक अजीब स्थिति का सामना किया। मेरे पास यह कोड है:\n\n```cpp\n#include \n\nint main() {\n bool flag; // अनइनिशियलाइज़्ड\n if (flag) {\n std::cout << "True" << std::endl;\n } else {\n std::cout << "False" << std::endl;\n }\n return 0;\n}\n```\n\nमेरे कंपाइलर (Ubuntu पर g++) पर यह लगातार "False" आउटपुट करता है, और प्रोग्राम सामान्य रूप से चलता है। लेकिन मैंने सुना है कि अनइनिशियलाइज़्ड वेरिएबल्स का उपयोग undefined behavior है। क्या इसका मतलब यह है कि प्रोग्राम वास्तव में क्रैश हो सकता है? आखिरकार, bool सिर्फ एक बाइट है जो 0 या 1 हो सकता है, और भले ही इसमें कचरा मान हो, true/false की जाँच काम करनी चाहिए, है ना?\n\nमुझे विशेष रूप से LLVM/Clang के माध्यम से कंपाइलेशन के मामले में दिलचस्पी है।