请教如何对MAP进行初始化?谢谢

oracleperl 2019-12-26 02:03:02
请教如何对MAP进行初始化?谢谢
...全文
371 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2020-01-15
  • 打赏
  • 举报
回复
哎,楼主,还是找本C++最基础教材认真从头学吧。 C++的类对象,像你这么写map<string, int> m;,会用默认构造函数来初始化的。 所以,是已经初始化了。 附带:对于自定义的类,提供正确的默认构造函数,是程序员的基本职责。
oracleperl 2020-01-15
  • 打赏
  • 举报
回复
求助....
待续_1006 2020-01-15
  • 打赏
  • 举报
回复

没有数据的话,下标可以初始化,但是有个问题,同样的下标数据会被覆盖,map的key具有唯一性
待续_1006 2020-01-15
  • 打赏
  • 举报
回复
没有数据的话,下表可以初始化,但是有个问题,同样的下标数据会被覆盖,map的key具有唯一性
oracleperl 2020-01-15
  • 打赏
  • 举报
回复
引用 15 楼 taodm 的回复:
哎,楼主,还是找本C++最基础教材认真从头学吧。 C++的类对象,像你这么写map<string, int> m;,会用默认构造函数来初始化的。 所以,是已经初始化了。 附带:对于自定义的类,提供正确的默认构造函数,是程序员的基本职责。
多谢了
真相重于对错 2020-01-11
  • 打赏
  • 举报
回复
引用 11 楼 oracleperl 的回复:
[quote=引用 10 楼 ganwenbo2011 的回复:] [quote=引用 9 楼 oracleperl 的回复:] [quote=引用 8 楼 ganwenbo2011 的回复:] [quote=引用 4 楼 oracleperl 的回复:] [quote=引用 3 楼 ganwenbo2011 的回复:] 通过直接赋值或 insert插入
那假设 就是没有值要inert呢 map的值我是从数据库select出来的,也可能没有记录,怎么办? 普通的标量,我可以 int A=0或者ina A=NULL;就初始化了 map怎么办? 谢谢[/quote] 如果数据库有记录,对select结果进行赋值 插入就行了,没有记录map就为空呀,还要怎么初始化? [/quote] 请教这样算初始化了? typedef map<unsigned int,string> map_test; map_test::iterator iter; map_test mymap; 我定义个整形变量,必须 int a=0;或者int a=NULL;才算初始化对吧?也就是赋初值。 那么map呢?我并没有赋予初值啊。 如果插入一个key,可是我数据库select并没有记录啊,我不需要插入key和value啊 [/quote] 以赋值的形式就行呀,变量的初始化不就是定义同时对其赋初始值值。容器也一样的呀,
std::unordered_map<std::string, size_t> people {{"Jan",20}, {"Jim", 33}, {"Joe", 18}};
或者
std::unordered_map<std::string, size_t> people;
	people["Jan"] = 20;
	people["Jim"] = 33;
	people["Joe"] = 18;
[/quote] 谢谢,可是我不需要值啊,我希望这个容器是空的,没有记录,但是要可以find,且不会报错 普通的标量,如果没有初始化,是要出错的 初始化和赋值是两回事把? int a=null;也算初始化了把[/quote] 你的意思是这样?
map<string, int> m;
	string str;
	for(int i=0;i<10;++i)
	{
		cin >> str;
		m[str] = i;
	}
oracleperl 2020-01-11
  • 打赏
  • 举报
回复
引用 10 楼 ganwenbo2011 的回复:
[quote=引用 9 楼 oracleperl 的回复:] [quote=引用 8 楼 ganwenbo2011 的回复:] [quote=引用 4 楼 oracleperl 的回复:] [quote=引用 3 楼 ganwenbo2011 的回复:] 通过直接赋值或 insert插入
那假设 就是没有值要inert呢 map的值我是从数据库select出来的,也可能没有记录,怎么办? 普通的标量,我可以 int A=0或者ina A=NULL;就初始化了 map怎么办? 谢谢[/quote] 如果数据库有记录,对select结果进行赋值 插入就行了,没有记录map就为空呀,还要怎么初始化? [/quote] 请教这样算初始化了? typedef map<unsigned int,string> map_test; map_test::iterator iter; map_test mymap; 我定义个整形变量,必须 int a=0;或者int a=NULL;才算初始化对吧?也就是赋初值。 那么map呢?我并没有赋予初值啊。 如果插入一个key,可是我数据库select并没有记录啊,我不需要插入key和value啊 [/quote] 以赋值的形式就行呀,变量的初始化不就是定义同时对其赋初始值值。容器也一样的呀,
std::unordered_map<std::string, size_t> people {{"Jan",20}, {"Jim", 33}, {"Joe", 18}};
或者
std::unordered_map<std::string, size_t> people;
	people["Jan"] = 20;
	people["Jim"] = 33;
	people["Joe"] = 18;
[/quote] 谢谢,可是我不需要值啊,我希望这个容器是空的,没有记录,但是要可以find,且不会报错 普通的标量,如果没有初始化,是要出错的 初始化和赋值是两回事把? int a=null;也算初始化了把
oracleperl 2020-01-11
  • 打赏
  • 举报
回复
引用 12 楼 真相重于对错 的回复:
[quote=引用 11 楼 oracleperl 的回复:] [quote=引用 10 楼 ganwenbo2011 的回复:] [quote=引用 9 楼 oracleperl 的回复:] [quote=引用 8 楼 ganwenbo2011 的回复:] [quote=引用 4 楼 oracleperl 的回复:] [quote=引用 3 楼 ganwenbo2011 的回复:] 通过直接赋值或 insert插入
那假设 就是没有值要inert呢 map的值我是从数据库select出来的,也可能没有记录,怎么办? 普通的标量,我可以 int A=0或者ina A=NULL;就初始化了 map怎么办? 谢谢[/quote] 如果数据库有记录,对select结果进行赋值 插入就行了,没有记录map就为空呀,还要怎么初始化? [/quote] 请教这样算初始化了? typedef map<unsigned int,string> map_test; map_test::iterator iter; map_test mymap; 我定义个整形变量,必须 int a=0;或者int a=NULL;才算初始化对吧?也就是赋初值。 那么map呢?我并没有赋予初值啊。 如果插入一个key,可是我数据库select并没有记录啊,我不需要插入key和value啊 [/quote] 以赋值的形式就行呀,变量的初始化不就是定义同时对其赋初始值值。容器也一样的呀,
std::unordered_map<std::string, size_t> people {{"Jan",20}, {"Jim", 33}, {"Joe", 18}};
或者
std::unordered_map<std::string, size_t> people;
	people["Jan"] = 20;
	people["Jim"] = 33;
	people["Joe"] = 18;
[/quote] 谢谢,可是我不需要值啊,我希望这个容器是空的,没有记录,但是要可以find,且不会报错 普通的标量,如果没有初始化,是要出错的 初始化和赋值是两回事把? int a=null;也算初始化了把[/quote] 你的意思是这样?
map<string, int> m;
	string str;
	for(int i=0;i<10;++i)
	{
		cin >> str;
		m[str] = i;
	}
[/quote] 这个是往map里添加记录吧? 我不需要往map添加记录(事实上就是没有就,从数据库select没有记录),怎样实现初始化?
真相重于对错 2019-12-31
  • 打赏
  • 举报
回复
map<int,string> m; m[0]="123"; m[1]="234";
真相重于对错 2019-12-31
  • 打赏
  • 举报
回复
map<int, string> m = { {1,"123"},{2,"345"} };
oracleperl 2019-12-31
  • 打赏
  • 举报
回复
求助,谢谢.
wbgan1994 2019-12-31
  • 打赏
  • 举报
回复
引用 9 楼 oracleperl 的回复:
[quote=引用 8 楼 ganwenbo2011 的回复:]
[quote=引用 4 楼 oracleperl 的回复:]
[quote=引用 3 楼 ganwenbo2011 的回复:]
通过直接赋值或 insert插入

那假设 就是没有值要inert呢
map的值我是从数据库select出来的,也可能没有记录,怎么办?
普通的标量,我可以 int A=0或者ina A=NULL;就初始化了
map怎么办?

谢谢[/quote]

如果数据库有记录,对select结果进行赋值 插入就行了,没有记录map就为空呀,还要怎么初始化?
[/quote]
请教这样算初始化了?
typedef map<unsigned int,string> map_test;
map_test::iterator iter;
map_test mymap;

我定义个整形变量,必须 int a=0;或者int a=NULL;才算初始化对吧?也就是赋初值。
那么map呢?我并没有赋予初值啊。
如果插入一个key,可是我数据库select并没有记录啊,我不需要插入key和value啊
[/quote]

以赋值的形式就行呀,变量的初始化不就是定义同时对其赋初始值值。容器也一样的呀,
std::unordered_map<std::string, size_t> people {{"Jan",20}, {"Jim", 33}, {"Joe", 18}};

或者
std::unordered_map<std::string, size_t> people;
people["Jan"] = 20;
people["Jim"] = 33;
people["Joe"] = 18;
oracleperl 2019-12-31
  • 打赏
  • 举报
回复
引用 8 楼 ganwenbo2011 的回复:
[quote=引用 4 楼 oracleperl 的回复:] [quote=引用 3 楼 ganwenbo2011 的回复:] 通过直接赋值或 insert插入
那假设 就是没有值要inert呢 map的值我是从数据库select出来的,也可能没有记录,怎么办? 普通的标量,我可以 int A=0或者ina A=NULL;就初始化了 map怎么办? 谢谢[/quote] 如果数据库有记录,对select结果进行赋值 插入就行了,没有记录map就为空呀,还要怎么初始化? [/quote] 请教这样算初始化了? typedef map<unsigned int,string> map_test; map_test::iterator iter; map_test mymap; 我定义个整形变量,必须 int a=0;或者int a=NULL;才算初始化对吧?也就是赋初值。 那么map呢?我并没有赋予初值啊。 如果插入一个key,可是我数据库select并没有记录啊,我不需要插入key和value啊
wbgan1994 2019-12-31
  • 打赏
  • 举报
回复
引用 4 楼 oracleperl 的回复:
[quote=引用 3 楼 ganwenbo2011 的回复:]
通过直接赋值或 insert插入

那假设 就是没有值要inert呢
map的值我是从数据库select出来的,也可能没有记录,怎么办?
普通的标量,我可以 int A=0或者ina A=NULL;就初始化了
map怎么办?

谢谢[/quote]

如果数据库有记录,对select结果进行赋值 插入就行了,没有记录map就为空呀,还要怎么初始化?
oracleperl 2019-12-30
  • 打赏
  • 举报
回复
引用 3 楼 ganwenbo2011 的回复:
通过直接赋值或 insert插入
那假设 就是没有值要inert呢 map的值我是从数据库select出来的,也可能没有记录,怎么办? 普通的标量,我可以 int A=0或者ina A=NULL;就初始化了 map怎么办? 谢谢
wbgan1994 2019-12-30
  • 打赏
  • 举报
回复
通过直接赋值或 insert插入
oracleperl 2019-12-30
  • 打赏
  • 举报
回复
求助。。。。。多谢
oracleperl 2019-12-27
  • 打赏
  • 举报
回复
求助,谢谢。。
“小红书”——给你安利几个小程序的“坑”微信小程序写在前面  小程序发布至今已有一年多时间,很多人都已经在小程序道路上狂奔。最近我也开始了学习小程序,学了一段时间后,想看看这段时间的学习效果,于是边学习边开始了我的第一个小程序。相信很多人都用过小红书吧,我可是被它安利了很多好东西呢,所以想着就仿写一个小红书的微信小程序吧。下面我就给大家“安利”几个我在写的过程中的“坑”。  因为花的时间不多,功能有很多没有完善,页面写的不是很好看,请各位将就着看啦。╮(╯▽╰)╭   准备工作  1. 开发环境:WXML(HTML),WXSS(CSS),Javascript  2. 开发工具:vscode,微信开发者工具  3. 辅助工具:Markman:图标标注工具,可用于取色、测量。Easy-Mock:可以伪造假数据,在js中引用就好了。点这里可以查看我的项目数据。Markdown:在线编辑器GifCam:Gif录制工具 微信小程序开发文档Iconfont-阿里巴巴矢量图标库:各种需要的小图标都有哦遇到的几个问题1、首页导航栏左右滑动效果图:  这部分,是通过微信小程序的scroll-view组件来完成的。代码如下:map、canvas、video 组件scroll-into-view 的优先级高于 scroll-top在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh若要使用下拉刷新,请使用页面的滚动,而不是 scroll-view ,这样也能通过点击顶部状态栏回到页面顶部2、首页文章列表随着点击导航栏列表改变效果图:  这部分,是通过微信小程序的swiper组件来完成的。代码如下:                                                                                                    {{notes.title}}                              <!-- 作者信息 -->                                              {{notes.writer}}                                                {{notes.like}}                                    使用swiper组件,将所有文章列表包起来,每个swiper-item表示不同的列表模块。之前在导航栏各列表项绑定了不同

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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