最近、仕事ではじめて計算機代数の手法を使った。けっこう有用なのに見たことがない。
すでにいなくなった人のコードでこんなようなのを見た。
#includeint main() {
double a = 1.0;
if(1)
double a = 2.0;
std::cout << a << std::endl; // 1
}
こんなコードでも通るとは知らなかった。少なくともVC8/9では通る。仕様はどうなっているのか知らない。
if(1) {
double a = 2.0;
}
と同じなのだろうか。
当然、このコードに意味は無いが、おそらく書いた人はaは2だと思っているはずだ。