gpt4 book ai didi

c++ - 在类外访问类模板变量

转载 作者:行者123 更新时间:2023-11-28 03:27:19 25 4
gpt4 key购买 nike

我有这样一个类:

template<char _character>
class Foo
{
...
public:
static const char character = _character;
};

有没有一种方法可以在类外访问 _character 参数,而无需静态转发它?类似于 Foo::_character

最佳答案

简短的回答是否定的,你不能。

_character是模板参数,在实例化模板之前是未知的。

实例化后_character不再是具体实例化的成员,而是你传入的字符是。

通过创建 static const char character = _character;您正在创建一个 char 数据成员,它依赖于用于实例化您的类模板的模板参数。

您现在可以从实例化的类模板访问所述数据成员:

typedef Foo<'c'> CFoo;
std::cout << CFoo::character << std::endl;

实例化类模板后,Foo<'c'>::_character不存在。

关于c++ - 在类外访问类模板变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13575468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com