1
为什么用g ++编译该代码会花费这么长时间?
考虑以下代码: template<int i> class A { typedef A<i-1> B; B x, y; }; template<> class A<0> { char m; }; int main() { A<LEVEL> a; } 通过以下Bash命令(使用g ++ 8.3.0)对g ++编译进行基准测试时 for ((level=1; level<30; ++level)); do echo -n ${level}, /usr/bin/time -f %U g++ -DLEVEL=$level test.cpp -o /dev/null done 我得到以下输出: 1,0.03 2,0.03 …