怎么在声明一个map的时候同时进行内容的初始化?

pi1ot 2003-08-23 05:41:11
const map<int,int> ii ( /*怎么写?*/ );

譬如说我想在声明的时候就放入 1=>1, 2=>2 两个pair.
...全文
339 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
短歌如风 2003-08-23
  • 打赏
  • 举报
回复
std::map<int, int>::value_type map_init_data[2] =
{
map<int, int>::value_type(1, 1),
map<int, int>::value_type(2, 2)
};

const map<int, int> a_map(map_init_data, map_init_data + 2);

数组中的元素必须按key有序;
注意构造函数的参数是用[begin, end)定义的,所以第二个参数应该是首地址加数组长度,而不是长度减一。
pi1ot 2003-08-23
  • 打赏
  • 举报
回复
那怎么解决const的问题?
njtu 2003-08-23
  • 打赏
  • 举报
回复
我想应该用其他办法解决这个问题
pi1ot 2003-08-23
  • 打赏
  • 举报
回复
只是为了某些使用上的方便。
njtu 2003-08-23
  • 打赏
  • 举报
回复
为什么要这样呢,有一定的原因吗?
先声明在初始化不好吗?

这样好像不可以。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧