C++ 在循环中创建的变量名?
我想知道是否可以使用stringstream在循环中创建链接到我的类的变量名 例如,我有: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
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我现在明白了-我想有一些人误解了我的意思!我们正试图用代码来理解你:)对不起,刚刚更新,按钮。推回(按钮);
啊,太好了,这就是我想要做的:我很高兴有人理解-很难解释!