#include <iostream>
void foo(int k) {
static auto bar = [&]{
std::cout << k << std::endl;
};
bar();
}
int main() {
foo(1); foo(2); foo(3); // output is correct: 1, 2, 3
}
चेक समारोह foo, एक कैसे स्थिर लैम्ब्डा संदर्भ द्वारा कश्मीर कैप्चर कर रहा है। ऐसा लगता है, और यह int के बजाय अधिक जटिल डेटाटाइप के साथ हो रहा है।संदर्भ स्थिर चर परिभाषा में कब्जा
क्या यह उम्मीद है? क्या कोई गारंटी है कि के का पता foo के प्रत्येक आमंत्रण के लिए समान होगा, या यह UB है?
अग्रिम धन्यवाद, और खेद अगर यह पहले से उत्तर दिया गया (मैं सफलता के बिना एक समान प्रश्न खोजने की कोशिश की थी)
एडम आप एक मील से बिंदु चूक गए, मुझे डर है – sehe