我目前创建了一个指针列表,该指针指向另一个int列表的每第5个元素。我正在尝试打印出该指针列表,以确保它指向另一个列表的正确元素。
我尝试了多种方法来执行此操作,但是似乎都没有。
for (int* t = pointersList.begin(); t != pointersList.end(); ++t)
{
cout << *t << endl;
}
要么
for (int i = 0; i < pointersList.size(); ++i)
{
int* itr;
itr = pointersList.begin()+i;
cout << *itr;
}
我也尝试像 vector (
cout << pointersList[i];
)一样访问它,但是这些似乎都不起作用。我知道指针指向元素的内存位置(这就是我使用
*
的位置),但是我不知道何时应该使用&
或什至&*
。 最佳答案
请执行下列操作。这应该工作。这将使其打印您的指针值。希望这就是您想要的。
for(int a = 0; a < pointersList.size(); a ++)
{
std::list<int*>::iterator i = pointersList.begin();
advance(i, a);
int* totry = *i;
cout << *totry;
cout << ",";
}