मैं एक एपीआई के लिए कुछ नमूना कोड देख रहा हूं जिसका उपयोग मैं शुरू करना चाहता हूं।क्या इस कोड में स्ट्रिंग अक्षर पर const_cast का उपयोग करने का कोई कारण है?
char* str;
str = const_cast<char*>("Hello World");
printf("%s ", str);
(। वास्तव में वहाँ एक बहुत बड़ा मामला बयान है जिसमें str
प्रत्येक मामले में असाइन किया गया है है)
ध्यान दें कि printf
const char*
लेता है: निम्नलिखित पैटर्न में थोड़ा उलझन में मुझे है। क्या इस घुलनशील रूपांतरण के लिए कोई उचित उद्देश्य है? इस कोड के लेखक कहीं और प्रदर्शन उन्मुख चाल लागू कर रहे हैं, लेकिन यहां क्या हो रहा है इसके बारे में कोई स्पष्टीकरण नहीं है। कुछ
const char* str;
str = "Hello World";
printf("%s ", str);
मुझे याद आ रही:
मेरे वृत्ति के लिए इस कोड को बदलने के लिए है?
इसे बदलें। मूल कोड खतरनाक रूप से अपरिभाषित व्यवहार भूमि के करीब है। –
हाँ 'रखता है' वही काम नहीं करता है। यद्यपि अन्य स्थितियों में 'बेहतर' क्यों बेहतर विकल्प होगा? –
@ValekHalfHeart ओह, हाँ, वह बकवास था, कभी नहीं। – Columbo