古いGCCのシフト演算子の評価値の拾い方が違う
古いGCCの評価値の拾い方がおかしい.
・・・こんなコードはまず書かないだろうけれど.
code
#include <iostream> using namespace std; int main(){ int x = 0; auto f = [&x](){return ++x;}; cout << x << f() << f() << f() << x << endl; return 0; }
結果
gcc6(cygwin)
33213
gcc7(cygwin)
01233
gcc6(wandbox)
33210
gcc7(wandbox)
01233
clang3(wandbox), clang6(wandbox)
01233
vscc(visual studio 2017)
01233