2017-01-21 3 views
0
#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任意のキーを押して続行して住所ました。 。 。

私は間違いを見つけられません。私は何か誤解していますか?助けて!

答えて

1

ポインタをコンテナに印刷しています。

イテレータの逆参照があり、もう1つはで、文字列オブジェクトへのポインタです。

+0

笑ありがとう!!このようなパターンを見るのは初めてです – JJChai

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; 
} 
関連する問題