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

C++ 如何在C+;中以另一个变量的名称使用一个变量+;,c++,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"}; } for(int i

我使用的结构如下所示:

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"};  
}  

for(int i=0;iC++没有您要求的确切功能。要将内容保存在一起,您需要使用数组或其他容器。然后,要进行访问,您必须使用索引器

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

#包括
#包括
#包括
结构雇员{
std::字符串id;
std::字符串名;
std::字符串f_名称;
std::字符串密码;
};
int main(){
std::vector employees;//用于将元素保持在一起的向量

for(int i=0;iC++没有您要求的确切功能。要将内容保存在一起,您需要使用数组或其他容器。然后,要进行访问,您必须使用索引器

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

#包括
#包括
#包括
结构雇员{
std::字符串id;
std::字符串名;
std::字符串f_名称;
std::字符串密码;
};
int main(){
std::vector employees;//用于将元素保持在一起的向量

对于(In i=0;如果你告诉你你要用什么来实现,我们可以帮助。查一下代码>数组< /COD>和<代码> STD::向量< /代码>。你不能在C++中这样做;某些解释语言提供了这个功能。为什么你需要在<代码>中为< /代码>循环体提供唯一命名的变量?变量将在每次迭代开始时创建,不会出现名称冲突。您应该使用宏连接。检查此项。@ManthanTilva否,只有在运行时才知道
i
的值;在这种情况下,宏连接只会给您提供
Empi
。您不能这样做。如果您告诉我您要使用的是什么,则有了这个,我们也许可以帮忙。查一下<代码>数组< /COD>和<代码> STD::向量< /代码>。C++不能这样做;某些解释语言提供了这个功能。为什么你需要在<代码>中为< /Cult>循环体提供唯一命名变量?在每次迭代开始时都会创建一个新的变量,它不像你将要的那样。获取名称冲突。您应该使用宏连接。请检查此项。@ManthanTilva否,只有在运行时才知道
i
的值;在这种情况下,宏连接只会为您提供
Empi
。谢谢,它解决了我的问题。谢谢,它解决了我的问题。
#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;
}