मैं सी ++ 11 की रैवल्यू फीचर सीख रहा हूं। सी ++ प्राइमर 5 वां संस्करण का कहना है कि एक रावल्यू संदर्भ केवल एक रावल्यू से जुड़ सकता है, लेकिन जब मैंने इस प्रोग्राम को संकलित करने का प्रयास किया, तो यह पास हो गया, और आउटपुट 1 1
है।g ++ 4.4.6 पर अनुमति देने वाले रेवल्यू संदर्भ बाध्यकारी के लिए लालसा क्यों है?
मुझे समझ में नहीं आता क्यों। मैं के साथ
जी ++ -Wall -std = C++ 0x test.cpp -ओ परीक्षण
#include <iostream>
using namespace std;
int main()
{
int i = 0;
int &&rr = i;
rr = 1;
std::cout << rr << std::endl;
std::cout << i << std::endl;
return 0;
}
"रावल्यू संदर्भ लालसा से बंधे नहीं है" नियम सी ++ 11 मानकीकरण प्रक्रिया में काफी देर से जोड़ा गया था। संभवतः जीसीसी 4.4.6 विनिर्देश के पहले मसौदे को कार्यान्वित कर रहा है जिसमें उस प्रतिबंध नहीं है। –
शायद आपके कंपाइलर को अपग्रेड करने का समय :) –