C++ 在解引用向量时有问题

C++ 在解引用向量时有问题,c++,c++11,vector,data-structures,C++,C++11,Vector,Data Structures,我正在创建一个网格游戏,其中网格中的每个框都是一个区域,代表一些人及其特定ID 现在我在这里有一个函数,它定位在特定框中网格中确切的人的位置 这是我的功能 bool where(int id, int &row, int &col)const { person* per; for(int i=0;i<alive.size();i++) { std::cout<<alive[i]<<std::endl; //Th

我正在创建一个网格游戏,其中网格中的每个框都是一个区域,代表一些人及其特定ID

现在我在这里有一个函数,它定位在特定框中网格中确切的人的位置

这是我的功能

bool where(int id, int &row, int &col)const
{
    person* per;
    for(int i=0;i<alive.size();i++)
    {
        std::cout<<alive[i]<<std::endl; //This is just for testing the person number
        if (alive[i]->person_id == id)
        {
            p = alive[i];
            break;              
        }
    }
}

我的问题:测试代码std::cout在代码中考虑这一行:if alive[i]->person\u id==id。它使用->而不是。指示alive不是某个结构/类的向量,而是指针向量,或者可能是某个其他对象,其行为类似于指向某个结构/类的指针。因此,要打印实际对象,std::coutIt是否值得告诉我们如何定义活动?特别是当你的问题是关于这个的时候。它是一个向量,但是它是如何定义的?你知道你可以把不同的东西放在一个向量中吗?你能告诉我们你在这个向量里放了什么吗?