मेरी आंत महसूस यह नहीं है। मैं निम्नलिखित स्थिति में हूँ:क्या कन्स्ट्रक्टर प्रारंभकर्ता सूची में कोई फ़ंक्शन कॉल करना ठीक है?
class PluginLoader
{
public:
Builder* const p_Builder;
Logger* const p_Logger;
//Others
};
PluginLoader::PluginLoader(Builder* const pBuilder)
:p_Builder(pBuilder), p_Logger(pBuilder->GetLogger())
{
//Stuff
}
या मैं निर्माता बदल सकते हैं और जहां PluginLoader
निर्माण किया है से एक Logger* const
पारित करना चाहिए?
जी। मैं एक 'गेट' होना चाहिए। :) – nakiya
यह और भी इतना है, क्योंकि वह 'pbuilder-> GetLogger() 'को कॉल कर रहा है, नहीं' p_Builder-> GetLogger()'। दोनों कानूनी हैं, लेकिन दूसरा कक्षा परिभाषा में पुनरावर्तित आवृत्ति चर के प्रति संवेदनशील है। – Eclipse
@ ग्रहण: ओह, मैंने यह भी नहीं देखा था। @nakiya: क्या आप सदस्य या पैरामीटर का उपयोग करना चाहते थे? या तो सुरक्षित है, जैसा है। – GManNickG