C++我可以使用变量值作为Struct名称来声明Struct吗
C++ Can I declare a Struct using a variable value as the Struct name?
我已经声明了一个简单的结构用于我的程序。当我在主程序中基于该结构创建变量时,我想根据已经存储在变量中的名称来命名它。
这可能吗?
例如,我的结构是这样声明的:
struct myGreatStruct{
int foo;
int fum;
}
然后在我的程序中,一个用户输入一个他们的名字,这个名字被存储在一个名为someVariable 的变量中
最后,我需要使用该变量值来命名我的结构:
myGreatStruct someVariable;
使用关联容器,例如std::unordered_map
示例:
#include <iostream>
#include <unordered_map>
int main(int argc, char *argv[]){
std::unordered_map<std::string, myGreatStruct> vars;
std::string var_name;
std::cout << "Input var name" << std::endl;
std::cin >> var_name;
vars[var_name].foo = 1; // using the name that the user gave
}
相关文章:
- .cpp和.h文件中的模板专用化声明
- "typedef"类型名称是否可以像"struct"定义那样声明指向结构的指针?
- 错误:使用 tesseract 引擎时 C++ 中的声明'typedef struct tagBLOB BLOB'冲突
- C++ Windows.h 的问题,在 vs17 中非法声明匿名'struct'
- 在模板类中声明的struct成员失败
- 如何在C#struct中声明和使用固定尺寸的char缓冲区
- "struct type variablename"声明有效吗?
- 内存修补的const struct声明
- 如何在 yacc 中声明"struct"变量
- 前向声明不够时如何避免"'identifier' uses undefined class/struct/union 'name'"错误?
- 类中使用Struct以及构造函数和标头时出现C++正向声明错误
- C++我可以使用变量值作为Struct名称来声明Struct吗
- 警告:'struct curl_fileinfo'参数列表中声明
- struct DIR的前向声明
- 将struct的成员声明为uint32_t时额外的字节
- 声明struct表时出现Std::bad_alloc错误
- 在c++中使用struct关键字声明变量
- 在类中声明动态数组(unsigned char和struct)
- 使用 struct 关键字声明类,反之亦然
- 程序在使用struct tm时崩溃,除非首先声明time_t