使用变量值的 C++ 宏

C++ Macro to use values of variables

我有一个程序,其中有 4 个对象 class,比如 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是参数。

改用数组或std::vector

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

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

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

在这里,

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