gpt4 book ai didi

c++ - 访问模板类对象的成员

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:51 25 4
gpt4 key购买 nike

考虑以下宏:

#define hash<k1,v1> abc

现在通过某种方式,我有了 abc 的实例,现在我想使用 abcv1 赋值,我该怎么做。

我试着做 abc->v1 = 10;
我也试过 abc.v1 = 10;但他们都没有工作。请提供一个简单的解决方案。

请查看这个更新后的问题:
将宏视为:

#define mac<a,b> abc

我有一个函数,其返回类型为 abc 类型。
xyz = func()
现在在 xyz 的帮助下,我想访问 a 并为 a 分配一些值,比如

a = 10;

如何访问变量 'a',并使用 xyz 为其赋值。

最佳答案

你有落后的预处理器宏定义。如果你想要abc扩展为(替换为)hash<k1, v1>那么它应该以相反的方式定义:

#define abc hash<k1, v1>

然后你可以做例如

abc xyz;

这将是一样的

hash<k1, v1> xyz;

另请注意,这不是预处理器宏的很好用法,我建议您改用类型别名:

using abc = hash<k1, v1>;

然后abc是可以用作任何其他类型的实际类型名称。

关于c++ - 访问模板类对象的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42481082/

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