这会打印我的字符串的地址,而不是它的内容,
#include <memory>
#include <string>
#include <list>
#include <iostream>
#include <iterator>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
unique_ptr<list<shared_ptr<string>>> upList (new list<shared_ptr<string>>);
shared_ptr<string> spNation (new string ("India"));
upList->push_back (spNation);
copy (upList->begin(), upList->end(), ostream_iterator<shared_ptr<string>> (cout, "\n "));
return 0;
}
我的问题是:
- 什么
ostream_iterator<shared_ptr<string>>
将 shared_ptr 或字符串作为其主要对象。 - 如何使用这种方法打印实际的字符串内容(即印度)。
- 这种方法是否优于传统的 for 循环来打印所有节点内容。