下面代码的输出结果
#include <iostream>
using namespace std;
int g=0;
template<typename T>
int foo()
{
static int value = ++g;
return value;
}
int main(int argc, char* argv[])
{
cout<<foo<int>()<<foo<bool>()<<foo<float>()<<foo<bool>()<<foo<int>()<<foo<char>();
cout<<endl;
return 0;
}
>> ./a.out
123214
本文探讨了C++中模板静态成员变量的行为特性,特别是在不同模板实例之间的共享方式。通过具体示例代码展示了如何初始化静态成员变量,并观察其在多次调用不同模板类型时的递增规律,揭示了模板静态成员变量在不同实例间的共享机制。
146

被折叠的 条评论
为什么被折叠?



