#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
}
チェック静的ラムダは参照によりKをキャプチャする方法機能FOO、。これはうまくいくと思われ、intではなく、より複雑なデータ型でも同じことが起こっています。リファレンス
これは予想されますか? kのアドレスは、fooのすべての呼び出しで同じになるという保証はありますか?UBですか?
事前のおかげで、と申し訳ありません、これは以前に(私は成功せずに同様の質問を探してみてくださいでした)
アダムはマイルでポイントを逃した、私は恐れている – sehe