我正在使用如下的结构:
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的值添加到名称末尾来获得名称不同的对象。
答案 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;
}