如何从矢量中仅打印一个元素

时间:2018-01-17 15:22:54

标签: c++ arrays c++11 vector

我通过矢量

创建了几个城市
    void World::vytvorMesta()
m_cities.push_back(new City("Kokotkova", 23));
m_cities.push_back(new City("Kokotkovasda", 223));
m_cities.push_back(new City("Kokotkqweova", 231));
m_cities.push_back(new City("Kokotkasdova", 243));

然后我需要打印它们

void World::printInfo2() {
    m_player->printInfo();
    if(m_cities.size()>0){
        for(unsigned int i=0; i<m_cities.size(); i++){
            m_cities.at(i)->printInfo();
        }
    }
}

所以我得到一个输出

output image

我的问题是如何只从这个向量中获取一个输出...不是全部,我怎样才能旅行&#34;他们之间......从矢量1到2等等再次打印出来。有人能帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这将打印矢量中的第一个元素(位置0)&amp;调用其printInfo()方法:

m_cities.at(0)->printInfo();

同样:

m_cities[0]->printInfo();

at()&amp;之间的差异如果您尝试访问向量之外的元素,则[]运算符会at()抛出out_of_range异常。

如果你想要第二个元素(位置1):

m_cities.at(1)->printInfo();
m_cities[1]->printInfo();

等等...

相关问题