मैं एक बृहदान्त्र के एक विशेष उपयोग को नहीं समझता।
मुझे यह पुस्तक द सी ++ प्रोग्रामिंग लैंग्वेज द्वारा ब्रेज़न स्ट्रॉस्ट्रुप, 4 वें संस्करण, धारा 11.4.4 "कॉल एंड रिटर्न", पृष्ठ 297 में मिला:
void g(double y)
{
[&]{ f(y); } // return type is void
auto z1 = [=](int x){ return x+y; } // return type is double
auto z2 = [=,y]{ if (y) return 1; else return 2; } // error: body too complicated
// for return type deduction
auto z3 =[y]() { return 1 : 2; } // return type is int
auto z4 = [=,y]()−>int { if (y) return 1; else return 2; } // OK: explicit return type
}
बयान में भ्रामक बृहदान्त्र लाइन 7 पर दिखाई देता है return 1 : 2। मुझे नहीं पता कि यह क्या हो सकता है। यह एक लेबल या टर्नरी ऑपरेटर नहीं है।
यह पहले सदस्य (और बिना ?) के बिना एक सशर्त टर्नरी ऑपरेटर की तरह लगता है , लेकिन उस स्थिति में मुझे समझ नहीं आता है कि यह बिना किसी शर्त के कैसे काम कर सकता है।