Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C/C++ में अनइनिशियलाइज़्ड प्रिमिटिव डेटा टाइप्स


अनइनिशियलाइज़्ड लोकल (ऑटोमैटिक) वेरिएबल्स का मान **इनडिटरमिनेट** (कचरा) होता है। यह कंपाइलर, ऑप्टिमाइज़ेशन लेवल, स्टैक कंटेंट्स पर निर्भर करता है।

उदाहरण

#include <iostream>
using namespace std;

int main() {
    char a;
    float b;
    int c;
    double d;
    long e;
    
    cout << "a = " << (int)a << endl;
    cout << "b = " << b << endl;
    cout << "c = " << c << endl;
    cout << "d = " << d << endl;
    cout << "e = " << e << endl;
    return 0;
}

संभावित आउटपुट (विंडोज)

a = 123
b = 1.4013e-045
c = 0
d = 2.91499e-322
e = 0

संभावित आउटपुट (लिनक्स)

a = 0
b = 0
c = 0
d = 0
e = 0

क्यों डिफ़ॉल्ट इनिशियलाइजेशन नहीं?

  • प्रदर्शन: स्टैक वेरिएबल्स को जीरो करना हर फंक्शन कॉल पर ओवरहेड जोड़ता है।
  • C दर्शन: "प्रोग्रामर जानता है कि वह क्या कर रहा है" - अनावश्यक इनिशियलाइजेशन न करें।
  • ऑप्टिमाइज़ेशन: कंपाइलर अनइनिशियलाइज़्ड वेरिएबल्स को रजिस्टर्स में रख सकता है।

नियम

सर्वोत्तम अभ्यास

  • हमेशा इनिशियलाइज़ करें: int x = 0;, float f = 0.0f;
  • कंपाइलर वार्निंग्स सक्षम करें: -Wall -Wextra -Wuninitialized (GCC/Clang)।
  • स्टेटिक एनालिसिस टूल्स उपयोग करें (Cppcheck, Clang Static Analyzer)।
  1. C/C++ में AA ट्रीज C/C++ में AA ट्रीज

    कंप्यूटर साइंस में AA ट्री को संतुलित ट्री के एक रूप के रूप में परिभाषित किया गया है जिसे क्रमबद्ध डेटा को कुशलतापूर्वक स्टोर और पुनर्प्राप्त करने के लिए लागू किया जाता है। AA ट्रीज को रेड-ब्लैक ट्री के एक रूपांतर के रूप में माना जाता है, एक प्रकार का बाइनरी सर्च ट्री जो प्रविष्टियों के कुशल जोड़ और

  1. C/C++ में तर्क बलात्कार (Argument Coercion) C/C++ में तर्क बलात्कार (Argument Coercion)

    यहां हम C या C++ में तर्क बलात्कार के बारे में देखेंगे। तर्क बलात्कार एक तकनीक है जिसके द्वारा कंपाइलर तर्कों को एक प्रकार से दूसरे प्रकार में अंतर्निहित रूप से परिवर्तित कर सकता है। यह तर्क प्रचार नियम का पालन करता है। यदि एक तर्क निम्न डेटाटाइप का है, तो उसे उच्च डेटाटाइप में परिवर्तित किया जा सक

  1. - C++ में प्रिमिटिव डेटा टाइप्स क्या हैं?

    एक प्रिमिटिव प्रकार एक डेटा प्रकार है जहां यह जिन मानों को दर्शा सकता है उनकी प्रकृति बहुत सरल होती है (एक संख्या, एक कैरेक्टर या एक ट्रुथ-वैल्यू); प्रिमिटिव प्रकार किसी भी प्रोग्रामिंग भाषा के सबसे बुनियादी बिल्डिंग ब्लॉक्स होते हैं और अधिक जटिल डेटा प्रकारों का आधार होते हैं। C++ में निम्न प्रिमि

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
संदर्भडिफ़ॉल्ट इनिशियलाइजेशन
ग्लोबल / स्टेटिकहाँ (शून्य)
लोकल (ऑटोमैटिक)नहीं (कचरा)
malloc / newनहीं (कचरा)
calloc / new (value-init)हाँ (शून्य)
क्लास मेम्बर्स (C++)कंस्ट्रक्टर पर निर्भर