如何在C ++中使用另一个变量名称中的变量

时间:2016-05-17 10:04:47

标签: c++

我正在使用如下的结构:

struct Employee{  
string id;  
string name;  
string f_name;  
string password;  
};  

我想要一个for循环,每次我增加,我想从我的结构中创建一个像这样的对象:

for(int i= 0; i<5; i++){  
struct Employee Emp(i) = {"12345", "Naser", "Sadeghi", "12345"};  
}  

我想要的只是通过每次像Emp1一样将i的值添加到名称末尾来获得名称不同的对象。

1 个答案:

答案 0 :(得分:4)

C ++没有您要求的确切功能。为了保持一致,您需要使用数组或其他容器。然后,要访问您必须使用索引器。

以下是您问题的工作解决方案(也是here):

#include <vector>
#include <iostream>
#include <string>

struct Employee {
    std::string id;
    std::string name;
    std::string f_name;
    std::string password;
};

int main() {

    std::vector<Employee> employees; // vector for keeping elements together

    for (int i = 0; i<5; i++) {
        // push_back adds new element in the end
        employees.push_back(Employee{ "12345", "Naser", "Sadeghi", "12345" });
    }
    std::cout << employees.size() << std::endl; // 5 returns how many elements do you have.
    std::cout << employees[0].name; // you access name field of first element (counting starts from 0)

    return 0;
}