预测产量?
null
#include <iostream> using namespace std; template < typename T> void fun( const T&x) { static int count = 0; cout << "x = " << x << " count = " << count << endl; ++count; return ; } int main() { fun< int > (1); cout << endl; fun< int >(1); cout << endl; fun< double >(1.1); cout << endl; return 0; } |
(A)
x = 1 count = 0 x = 1 count = 1 x = 1.1 count = 0
(B)
x = 1 count = 0 x = 1 count = 0 x = 1.1 count = 0
(C)
x = 1 count = 0 x = 1 count = 1 x = 1.1 count = 2
(D) 编译错误 答复: (A) 说明: 编译器为每种数据类型创建模板函数的新实例。所以编译器在上面的例子中创建了两个函数,一个用于int,另一个用于double。每个实例都有自己的静态变量副本。函数的int实例被调用了两次,所以第二次调用的count是递增的。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END