C++ 如何使用迭代器填充未知大小的向量?

C++ 如何使用迭代器填充未知大小的向量?,c++,visual-c++,iterator,C++,Visual C++,Iterator,我试图创建一个图形,在其中我不知道它的大小,用户填充向量,直到用户需要为止。 如何使用迭代器获取元素 未完成的我的代码: #include <iostream> #include <vector> #include <iterator> #include <list> void main(void) { { using namespace std; vector<vector<char>

我试图创建一个图形,在其中我不知道它的大小,用户填充向量,直到用户需要为止。 如何使用迭代器获取元素

未完成的我的代码:

#include <iostream>
#include <vector>
#include <iterator>
#include <list>

void main(void)
{
    {
        using namespace std;

        vector<vector<char>> graph;
        vector<vector<char>>::iterator outerMove;
        vector<char>::iterator innerMover;
        cout << "enter your verteces name one by one and write done when you are done";
        for (outerMove = graph.begin(); outerMove != graph.end(); ++outerMove)
        {
            //first get the size of vector , how much user wants enters 
        }
        for (innerMover = )
        {
            //now here graph.push_back(innerMove) 
        }
}
#包括
#包括
#包括
#包括
真空总管(真空)
{
{
使用名称空间std;
矢量图;
向量::迭代器最外层;
向量::迭代器内部移动器;

cout在本例中,您不使用迭代器,而是使用并让向量完成其工作(即,自动调整大小):

矢量图;
std::string outermove;//正确的“字符列表”!
while((cin>>最外层)&最外层!=“完成”)
图。推回(最外层);
与问题无关:


< C++ >代码>空主代码(< />代码>在C++中是非法的,<代码>主< <代码> >需要返回<代码> int >代码> .Cuff>(空隙)< /C>是编写空参数列表的C方式。在C++中,它只是<代码>(/>代码> .< /p> < p>在这种情况下,不使用迭代器,使用和让向量执行它的任务(即,自动调整大小):

矢量图;
std::string outermove;//正确的“字符列表”!
while((cin>>最外层)&最外层!=“完成”)
图。推回(最外层);
与问题无关:


<> >代码>空()/> >在C++中是非法的,<代码>主< /代码>需要返回<代码> int >代码> .<代码>(空隙)< /C> >是编写空参数列表的C方式——C++中的简单代码< >

在这种情况下,你在向量中填充字符串,但我想填充第一个向量,然后对于第一个向量中的每个元素,我想得到输入。你只有一个向量,所以我不确定“第一个向量”是什么意思。无论如何,字符串也是一个可编辑的容器。你可以像你一样逐个字符地遍历它(我想)想处理
列表
。你也可以使用
向量
。@ShahroozLeon我很好:)我写的代码和你想用代码做的一样,只是正确,明白吗?为你的工作制定规范不是我的工作。一定是语言障碍,我相信你不想粗鲁:)@jrok,非常感谢,我从不对陌生人粗鲁,我真的很感谢你花的时间,你的工作给了我一个想法,它对我很有用,但我仍然不知道如何设计一个图形,它的大小是动态的,我只是希望你也能告诉我如何使向量的大小是动态的,并从用户那里得到它的大小。没关系,我也不是母语人士。我们很好。更具体一点-你怎么命名顶点,有效输入的例子,你希望向量的内容在你完成时是什么样子的,诸如此类。我在这个例子中,你在向量中填充字符串,但我想填充第一个向量,然后对于第一个向量中的每个元素,我想得到输入。你只有一个向量,所以我不确定你的意思是什么“第一个向量”。不管怎么说,字符串也是一个可编辑的容器。你可以像你一样一个字符一个字符地遍历它(我假设)我想用
列表
。你也可以用
向量
。@ShahroozLeon我很好:)我写的代码和你想用代码做的一样,只是正确,明白吗?为你的工作制定规范不是我的工作。一定是语言障碍,我肯定你不想粗鲁:)@jrok,非常感谢你,我对陌生人从不粗鲁,我真的很感谢你花的时间,你的工作给了我一个想法,对我很有用,但我仍然不知道如何设计一个大小是动态的图形,如何使用它,我只是希望你也能告诉我如何使向量的大小动态,并得到它的大小fr对用户来说。没关系,我也不是母语人士。我们很好。只是说得更具体一点-如何命名顶点,有效输入的示例,你希望向量的内容在完成时是什么样子,诸如此类。你打算内部向量的值是什么,比如
a
b
c
或者范围[0;256]或[-128;127]中的数字?在后一种情况下,您应该明确指定是有符号还是无符号,因为
char
是一个还是另一个是实现定义的!您希望内部向量的值是什么,例如
a
b
c
或范围[0;256]或[-128;127]中的数字?在后一种情况下,您应该明确指定是有符号的还是无符号的,因为
char
是一个还是另一个是实现定义的!
vector<std::string> graph;
std::string outermove;  // a proper "list of chars"!

while ((cin >> outermove) && outermove != "done")
    graph.push_back(outermove);