C++primer 학습: 연관 컨테이너(2)
pair 대상의 생성 방식
using P = pair<string, int>;
int main()
{
vector<P> data;
string word;
int interger;
while (cin >> word >> interger)
data.emplace_back(word, interger);//
/* data.push_back(pair<string, int>(word, interger));*/
//data.push_back(make_pair(word, interger));
//data.push_back({ word, interger });
for (const auto it : data)
cout << it.first << " " << it.second << endl;
가정과 아이의 맵을 바꾸고pair의vector를 추가해서 아이의 이름과 생일을 저장합니다.
using P = pair<string, string>;
using Children = vector<P>;
int main()
{
map<string, Children> family;
string f_name, c_name,birthday;
while (cout<<"last_name: "&&cin>>f_name)
{
while (cout<<"child_name: birthday data: "&&cin>>c_name>>birthday)
family[f_name].emplace_back(c_name, birthday);
cin.clear();
}
for (const auto it : family)
{
cout << endl << it.first << ":
";
for (const auto child : it.second)
{
cout << child.first << " birthday: " << child.second << endl;
}
}
insert 작업: 관련 용기에 원소 추가
map<string, int> word_count;
string word;
while (cin>>word)
{
auto ret = word_count.insert({word,1});// pair ,first ,second bool
if (ret.second)
++(ret.first->second);
}
멀티맵에 요소를 추가하려면 아래 첨자로 연산할 수 없습니다.
multimap<string,vector<string >> word_count;
string word,name;
while (cin >> word)
{
vector<string> ch;
while (cin >> name)
ch.push_back(name);
word_count.insert({ word, ch });
cin.clear();
}
for (auto &it : word_count)
{
cout << it.first << " : ";
for (auto &child : it.second)
cout <<" " <<child;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.