निम्नलिखित कोड पर विचार करें:std :: context_wrapper टी एंड में परिवर्तित कब होता है?
#include <iostream>
#include <functional>
using namespace std;
template<class T>
void fun(T t)
{
t+=8;
}
int main()
{
int i = 0;
fun(ref(i));
cout << i << endl;
}
इस कोड को प्रिंट "8"। मुझे लगता है कि मजेदार (टी) में टी स्वचालित रूप से int & में परिवर्तित हो जाता है।
लेकिन अगर मैं t+=8
t=8
के साथ प्रतिस्थापित करता हूं, तो प्रोग्राम संकलित नहीं होगा।
क्यों?
धन्यवाद, ecatmur, समझ में आता है कि। – oz1cz