class game_list
{
public:
string name;
};
game_list *pointer;
int main()
{
vector<game_list*> mainVector;
pointer=new game_list;
cin>>pointer->name;
mainVector.push_back(pointer);
cout << "Hello world!" << endl;
cout << mainVector[1];
return 0;
}
game_list
是类声明。 vector<game_list*>
是包含一堆game_list
类指针的 vector 。我正在尝试打印 vector 中每个game_list
的属性。到目前为止,我已经尝试了mainVector[1].name
,但似乎无法正常工作。有什么建议吗? 最佳答案
您需要像上面一样取消引用指针。
cout << mainVector[1]->name;
要么
cout << (*(mainVector[1])).name;
哦,对于ForEveR, vector 索引从0开始。要获取第一个元素,还可以使用
mainVector.front()
。但是,您可能根本不想使用指针。如果确定可以,请使用
boost::ptr_vector
或std
智能指针 vector 。现在,此代码具有内存泄漏。关于c++ - 如何从C++中的 vector 容器中打印类指针?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16606497/