map<string,string>在c99中怎么初始化,或者说怎么赋值?

Python011

map<string,string>在c99中怎么初始化,或者说怎么赋值?,第1张

map<string,string> mymap

// 添加元素

mymap.insert(pair<string,string>("haha","hehe"))

mymap.insert(map<string,string>::value_type("haha","hehe"))

mymap["haha"] = "hehe"

参考代码如下:

#include<iostream>

#include<map>

using namespace std

int main()

{

    typedef map<string,string>::iterator m_itor

    map<string,string> mymap

    mymap["223"] = "adflijd"

    mymap.insert(pair<string,string>("235dadf","sdflisha"))

    mymap.insert(map<string,string>::value_type("dlfkja","ajefoi"))

    for(m_itor it = mymap.begin() it != mymap.end() it++)

        cout<<it->first<<" "<<it->second<<endl

    return 0

}

运行结果如下:

错误的原因是 position只是一个指向float类型常量的指针,所以只能用指针初始化c++ 里面struct可以new,另外:C++中,struct关键字与Class关键字基本是一样的,但是,有两点不同 1 struct定义的数据类型里面所有成员默认级别都是共有的,而class里面所有成员默认级别都是私有的 2 在模板定义中,只能用class 或者typename 而不能用struct