我无法向 c++ 添加元素
I cant add elements to the c++
void Student::addStudent()
{
int studentAdd;
cout<<"How many student do you want to add?"<<endl;
cin>>studentAdd;
list<string>::iterator it;
cout<<"Enter the name of student"<<endl;
for(int i=0;i<studentAdd;++i)
{
cin>>studentName;
for(it=studentList.begin();it!=studentList.end();++it)
{
studentList.insert(it,studentName);
}
}
}
我试图将字符串元素添加到列表中,但是当我尝试使用另一个函数显示时,我看不到元素。
void Student::displayAllStudents()
{
list<string>::iterator display;
cout<<"Students:n"<<endl;
for(display = studentList.begin();display!= studentList.end();++display)
{
cout<<*display<<endl;
}
}
你能帮帮我吗?
起初,您的列表是空的,因此 Begin 和 End 迭代器相等,因此此代码不会执行:
for(it=studentList.begin();it!=studentList.end();++it)
{
studentList.insert(it,studentName);
}
如果要在列表末尾添加元素,只需使用push_back
函数即可。不需要第二个循环,所以你的代码可以像这样:
for(int i = 0; i < studentAdd; ++i)
{
cin>>studentName;
studentList.push_back(studentName);
}
如果列表中没有元素,则无法使用迭代器进行循环。 这是错误:
for(it=studentList.begin();it!=studentList.end();++it)
{
studentList.insert(it,studentName);
}
begin(( 和 end(( 在开始时指向同一个元素。
您可以使用 push_bask(( 添加元素。
相关文章:
- 有没有办法向这个向量添加元素?
- 如何在提升间进程中构建具有给定计数的向量并向其添加元素
- 如何在 Arduino 字符串的开头添加元素.类似于 JS unshift();
- C++向数组添加元素并调整数组大小
- 我无法向 c++ 添加元素
- BST 不添加元素
- 调整数组大小并添加元素 C++
- 向向量添加元素
- 如何在不使用标准算法的情况下在排序向量中添加 c 元素?
- 双链接列表添加元素不起作用,不知何故它总是保持为空
- 当我向 vector<int *> 添加元素时,我遇到了一些问题
- 动态地添加元素
- 静态2D数组,添加元素
- 在一个类中向向量添加元素不适用于其他类
- 在数组中添加元素将不接受类似的元素
- STD :: MAP-使用下标操作员与插入方法添加元素
- 动态数组添加元素而不创建结构变量/对象
- 以下向 c++ 向量添加元素的方法有什么区别
- 如何在 std::map 中添加元素自己进行分配
- C++在向量中添加元素的双精度