#include <list>
#include <string>
#include <iostream>
int main()
{
std::list<std::string*> *listStr = new std::list<std::string*>();
listStr->push_back(new std::string("HI"));
std::cout << *(listStr->begin()) << std::endl;
return 0;
}
我想我应该得到HI,但我得到了地址作为输出
008A2B10按任意键继续。 。
我无法找到我的错误......或者我误解了什么?
答案 0 :(得分:1)
您正在容器中打印指针。
你需要一个解引用迭代器,另一个指向字符串对象的指针。
答案 1 :(得分:1)
它打印string *
,而不是string
。
打印string
:
#include <list>
#include <string>
#include <iostream>
int main()
{
std::list<std::string> *listStr = new std::list<std::string>();
listStr->push_back(std::string("HI"));
std::cout << *(listStr->begin()) << std::endl;
return 0;
}