2011-10-29 10 views
5

विजुअल स्टूडियो 2010 के साथ सी ++ का उपयोग करना। मैं अपने NULL के nullptr के रूपांतरित करने की प्रक्रिया में हूं। मेरे कोड के साथ यह ठीक है।एपीआई फ़ंक्शन कॉल में नलप्टर का उपयोग करना?

::OleInitialize(NULL); 

मैं सुरक्षित रूप से nullptr जहाँ मैं इस जैसे एक कॉल में NULL इस्तेमाल किया है | उपयोग कर सकते हैं:

__checkReturn WINOLEAPI OleInitialize(IN LPVOID pvReserved); 

सामान्य रूप से मैं इस तरह कहा जाता है |: लेकिन अगर मैं एक कॉल WINAPI के लिए इस तरह के रूप में बनाने के ?

है कि, मैं यह कर सकता हूँ:

::OleInitialize(nullptr); 
इसके अलावा MFC एपीआई के साथ एक ही

:

CFileDialog fileDlg(TRUE, ".txt", NULL, 0, strFilter); 

मैं जगह ले सकता है

CFileDialog fileDlg(TRUE, ".txt", nullptr, 0, strFilter); 

मेरा अनुमान है कि मैं यह कर सकते हैं, लेकिन मैं बस यह सुनिश्चित करना चाहते हैं कि कोई गठिया नहीं है।

अद्यतन

तो मैं माध्यम से चला गया और मेरे सारे शून्य के बदल देता nullptr साथ और यह सबसे अधिक हर जगह काम करने के लिए हालांकि मैं निम्न पंक्ति पर नीचे त्रुटि हो रही है लगता है:

propertyItem = new CMFCPropertyGridProperty(_T("SomeName"), 
"SomeValue", "SomeDescription", nullptr, nullptr, nullptr, nullptr); 

8> c: \ कुछ \ something.cpp (118): त्रुटि C2664: 'CMFCPropertyGridProperty :: CMFCPropertyGridProperty (स्थिरांक cstring &, स्थिरांक COleVariant & , LPCTSTR, DWORD_PTR, LPCTSTR, LPCTSTR, LPCTSTR): DWORD_PTR '8' के लिए 'nullptr' से पैरामीटर 4 परिवर्तित नहीं कर सकते '> एक देशी nullptr केवल, bool या, reinterpret_cast उपयोग करने के लिए परिवर्तित किया जा सकता एक अभिन्न प्रकार के

(नोट सीएमएफसीप्रोपर्टी ग्रिडप्रोपर्टी माइक्रोसॉफ्ट एमएफसी कक्षा है) तो इसका क्या अर्थ है?

उत्तर

12

हां, आप nullptr सुरक्षित रूप से NULL का उपयोग कर सकते हैं।

NULL मूल्य शून्य के साथ एक पूर्णांक निरंतर अभिव्यक्ति में विस्तारित किया गया, जिसे किसी भी प्रकार के शून्य सूचक मान में परिवर्तित किया जा सकता है। nullptr "पॉइंटर शाब्दिक" है जो सटीक वही काम करता है: यह किसी भी प्रकार के शून्य सूचक मूल्य में परिवर्तित हो जाता है।

अधिक जानकारी here

+3

मुझे यकीन नहीं है कि [यहां] पढ़ने से बिल्कुल सही है (http://stackoverflow.com/questions/1282295/what-exactly-is-nullptr-in-c0x)। यदि कोई नल कहीं रखा गया था तो यह नलप्टर के साथ सभी नल को बदलने से पहले 0 होना चाहिए था कोड को तोड़ देगा। मैं हर जगह ट्यूटोरियल देखता हूं जो हैंडल और प्रकार के चर प्रकारों को नल में सेट करता है। प्रकार जिन्हें नलप्टर के रूप में असाइन नहीं किया जाना चाहिए। –

+2

@ जो: मेरे उत्तर का आधार यह है कि पॉइंटर्स के संदर्भ में न्यूल का सही इस्तेमाल किया जा रहा था। – GManNickG

+0

@Gman: क्या आप मेरे प्रश्न – User

संबंधित मुद्दे