struct X
{
X() { std::cout << "X()\n"; }
X(int) { std::cout << "X(int)\n"; }
};
const int answer = 42;
int main()
{
X(answer);
}
मुझे उम्मीद है कि यह या तो प्रिंट होगा
X(int)
, क्योंकिX(answer);
से या केint
लिए एक डाली के रूप में व्याख्या की जा सकती हैX
- कुछ भी नहीं, क्योंकि
X(answer);
एक चर की घोषणा के रूप में व्याख्या की जा सकती है।
हालांकि, यह प्रिंट करता हैX()
, और मुझे नहीं पता कि क्यों X(answer);
डिफ़ॉल्ट निर्माता को कॉल करेगा।
बोनस अंक: एक परिवर्तनीय घोषणा के बजाय अस्थायी पाने के लिए मुझे क्या बदलना होगा?