C++ 在循环中创建的变量名?

C++ 在循环中创建的变量名?,c++,stl,C++,Stl,我想知道是否可以使用stringstream在循环中创建链接到我的类的变量名 例如,我有: for(int i=1; i<6; i++){ std::stringstream button; button << "Button" << i; CreateButton button(); button.function_name(); } for(inti=1;i对代码进行一点增强,这就是您想要做的吗 #include <vector

我想知道是否可以使用stringstream在循环中创建链接到我的类的变量名

例如,我有:

for(int i=1; i<6; i++){
   std::stringstream button;
   button << "Button" << i;
   CreateButton button();

   button.function_name();
}

for(inti=1;i对代码进行一点增强,这就是您想要做的吗

#include <vector>
std::vector<CreateButton> buttons;

// create buttons
for(int i=1; i<6; i++){
   std::stringstream ss;
   ss<< "Button" << i;
   buttons.emplace_back(CreateButton(ss.str()));
}

// use buttons
for(int i=1; i<6; i++){
  buttons[i].function_name();
};
#包括
std::矢量按钮;
//创建按钮

对于(inti=1;i您需要按钮的数组或向量

#include <vector> //must include this

std::vector<CreateButton> buttons(6);

for(int i= 0; i<6; i++)
{
   button[i].function_name();
}
#包含//必须包含此
标准::矢量按钮(6);

for(int i=0;我知道你需要一个数组(
std::vector
)。@billz它是在for循环中创建的(我应该提到的是,
按钮。function_name();
也在循环中。我会在我的问题中进一步说明。)您不能重用变量名。请将
std::stringstream button
更改为
std::stringstream ss
。此外,当循环退出时,您的流和按钮都超出范围。但是,我将重新使用
ss
?@Dave-不,您不会这样做。
CreateButton
行保持不变。不?我没有通过解析数据-我计划,但我正在尝试为每个循环中的类创建一个唯一的名称,这样我就有了button1 button2 button3,它们都链接到同一个类,然后它们都被设置好并可以在我的脚本中使用。@Dave,
std::vector buttons(5);
对于
button1
,使用
按钮[0]
。对于
button2
,使用
button[1]
。如你所愿添加到向量上。@chris yeh我现在明白了-我想有一些人误解了我的意思!我们正试图用代码来理解你:)对不起,刚刚更新,
按钮。推回(按钮);
啊,太好了,这就是我想要做的:我很高兴有人理解-很难解释!