Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
120 views
in Technique[技术] by (71.8m points)

How to use c++ unique_ptr with the map container?

Is it possible to use the unique_ptr with the map container? For example,

#include<iostream>
#include<string>
#include<map>
#include<memory>
using namespace std;

int main(){
    
    unique_ptr<map<string, int>> person;
    person = make_unique<map<string, int>>(make_pair("Tom", 34));

    cout << (*person)["Tom"] << endl;  
}
question from:https://stackoverflow.com/questions/65848974/how-to-use-c-unique-ptr-with-the-map-container

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

How about defining:

#include<iostream>
#include<string>
#include<map>
#include<memory>
using namespace std;

int main(){
    unique_ptr<map<string, int>> person(new map<string, int>); 
    (*person)["Tom"] = 34;

    cout << (*person)["Tom"] << endl;  
}

Output is:

34

See for yourself: https://wandbox.org/permlink/CNaWMLYJTxQSfKwt .


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...