繁体   English   中英

C ++宏使用变量值

[英]C++ Macro to use values of variables

我有一个带有4个类的对象的程序,例如PO1,PO2,PO3,PO4。 我想调用一些函数,将这些对象作为for循环中的参数。 像这样:

for(int i = 0; i < 4; i++){
    func(PO<i>);    //Something like a macro to replace the value i in the function.    

我尝试了令牌粘贴,但是我得到的只是POi,而不是获得i的值。 有什么办法吗? (宏,功能等)

这是我的代码

Player PO[4] = {Player{'l',WHITE},
                Player{'l',WHITE},
                Player{'l',WHITE},
                Player{'l',WHITE}
               };

参数“ l”和“ WHITE”。

根据@SamVarshavchik的评论,我找到了解决方案。

这里是,

Player *PK[4] = {&PO1,&PO2,&PO3,&PO4};
for(int i = 0; i < 4; i++}{
    func(*PK[i]);
}

使用array或std::vector代替

MyObject Pos[4] = {MyObject{42}, MyObject{51}, MyObject{21}, MyObject{12}};

for (auto& po : Pos) {
    func(Po);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM