Redian新闻
>
how to initialize associate data in STL map
avatar
how to initialize associate data in STL map# Programming - 葵花宝典
f*w
1
我现在在用STL的map实现以下功能,读入两列数,第一列是index,第二列是相应的数据
,但是index列有重复的,需要把相应的数据累加起来,我是这么做的
map mid;
for ( int i = 0; i < MaxIndex; i++) {
map[index] += val;
}
但是我要确定读入数据前,associate data(value)是正确的初始化为0.的,这个是
map自动实现的吗?还是说我要自己实现它,谢谢
avatar
r*g
2
一般应该是自己实现把
avatar
t*t
3
yes, it is automatic 0 for numerical types

【在 f**********w 的大作中提到】
: 我现在在用STL的map实现以下功能,读入两列数,第一列是index,第二列是相应的数据
: ,但是index列有重复的,需要把相应的数据累加起来,我是这么做的
: map mid;
: for ( int i = 0; i < MaxIndex; i++) {
: map[index] += val;
: }
: 但是我要确定读入数据前,associate data(value)是正确的初始化为0.的,这个是
: map自动实现的吗?还是说我要自己实现它,谢谢

avatar
r*g
4
是标准吗?还是编译器相关?
还是小心点好
avatar
t*t
5
小心点当然好
但是这是标准

【在 r********g 的大作中提到】
: 是标准吗?还是编译器相关?
: 还是小心点好

avatar
t*t
6
23.3.1.2 map element access [lib.map.access]
T& operator[](const key_type& x);
Returns:
(*((insert(make_pair(x, T()))).first)).second.
T(), is default-initialized:
8.5 Initializers [dcl.init]
7 An object whose initializer is an empty set of parentheses, i.e., (),
shall be default-initialized.
Default-initialization means:
5 To zero-initialize storage for an object of type T means:
--if T is a scalar type (_basic.

【在 t****t 的大作中提到】
: 小心点当然好
: 但是这是标准

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。