मेरी समझ के अनुसार, एक अस्थायी वस्तु उत्पन्न होने पर चालक कन्स्ट्रक्टर को बुलाया जाएगा। यहाँ getA()
समारोह एक अस्थायी वस्तु लौटा रहा है, लेकिन मेरे कार्यक्रम चाल निर्माता से संदेश मुद्रण नहीं है:चालक कन्स्ट्रक्टर क्यों नहीं कहा जाता है?
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"Hi from default\n";
}
A(A && obj)
{
cout<<"Hi from move\n";
}
};
A getA()
{
A obj;
cout<<"from getA\n";
return obj;
}
int main()
{
A b(getA());
return 0;
}
मैं चालक के साथ खोज रहा था और Google मुझे उस पृष्ठ पर नहीं ले जा रहा है –