gpt4 book ai didi

c++ - c++宏可以设置类指针吗?

转载 作者:行者123 更新时间:2023-11-30 01:54:29 24 4
gpt4 key购买 nike

我有这种情况我有我迭代的 map :int 计数器 = 1;

bool ReelGameObj::setInitWithSpriteFrameName(std::map<std::string,std::string> imageComponentMap)
{
int counter = 1;
for (auto keyvalue : imageComponentMap ) {
std::string pngName = keyvalue.second ;
SET_SPRITE(counter,pngName);
counter++;
}
}

在标题中我有:

 private:


Sprite* reel_1;
Sprite* reel_2;
Sprite* reel_3;
Sprite* reel_4;
Sprite* reel_5;

我正在考虑使用 MACRO 动态设置指针以避免 if/else 并做一些更通用但不乏这个宏失败了

#define SET_SPRITE(__NUMBER__,spriteFrameName) this->reel_##__NUMBER__ = Sprite::createWithSpriteFrameName(spriteFrameName);

有没有更好的办法?

最佳答案

你不能完全按照你写的去做,因为 counter 需要是一个预处理器常量才能工作(即宏)。

当然,使用数组会更好,例如Sprite* reel[5];,或者更好的是 std::vector reel;`?

关于c++ - c++宏可以设置类指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975402/

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