由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 这该不该算std::map的一个bug
相关主题
c++ 是否也有class method??面试问题
two c++ interview questions! (转载)C++重载<<错误?
conversion between const to nonconst请教一个基本的constructor和destrcutor问题
C++ formatted output question用数组做参数,在函数内部如何知道数组的size?
about new operator问题
c++ 得最基本问题小问题
私有成员不能用类成员函数修改?a question about bitwise operation
请教 C++的一个困惑 (operator delete)member and friend
相关话题的讨论汇总
话题: key1话题: map1话题: std话题: endl话题: cout
进入Programming版参与讨论
1 (共1页)
b*****n
发帖数: 2324
1
std::cout << "3.5 map1.size(): " << map1.size() << endl;
std::cout << "4 map1[key1].size(): " << map1[key1].size() <<
endl;
std::cout << "4.5 map1.size(): " << map1.size() << endl;
output:
3.5 map1.size(): 0
4 map1[key1].size(): 0
4.5 map1.size(): 1
t****t
发帖数: 6806
2
什么bug, 不是挺对的吗?

【在 b*****n 的大作中提到】
: std::cout << "3.5 map1.size(): " << map1.size() << endl;
: std::cout << "4 map1[key1].size(): " << map1[key1].size() <<
: endl;
: std::cout << "4.5 map1.size(): " << map1.size() << endl;
: output:
: 3.5 map1.size(): 0
: 4 map1[key1].size(): 0
: 4.5 map1.size(): 1

d**********x
发帖数: 4083
3
你仔细想想第二行是什么。。

【在 b*****n 的大作中提到】
: std::cout << "3.5 map1.size(): " << map1.size() << endl;
: std::cout << "4 map1[key1].size(): " << map1[key1].size() <<
: endl;
: std::cout << "4.5 map1.size(): " << map1.size() << endl;
: output:
: 3.5 map1.size(): 0
: 4 map1[key1].size(): 0
: 4.5 map1.size(): 1

b*****n
发帖数: 2324
4
嗯,有道理,应该先用map::find() check一下。

【在 d**********x 的大作中提到】
: 你仔细想想第二行是什么。。
r********n
发帖数: 7441
5
new cop
c++ 的map的operator[]就是这样工作的

【在 b*****n 的大作中提到】
: std::cout << "3.5 map1.size(): " << map1.size() << endl;
: std::cout << "4 map1[key1].size(): " << map1[key1].size() <<
: endl;
: std::cout << "4.5 map1.size(): " << map1.size() << endl;
: output:
: 3.5 map1.size(): 0
: 4 map1[key1].size(): 0
: 4.5 map1.size(): 1

d****n
发帖数: 1637
6
你那是value=map[key1] 的size不是map 的size.

【在 r********n 的大作中提到】
: new cop
: c++ 的map的operator[]就是这样工作的

b*****n
发帖数: 2324
7
如果key1不存在,map1[key1].size()直接fail是不是更好?

<<

【在 r********n 的大作中提到】
: new cop
: c++ 的map的operator[]就是这样工作的

c*******y
发帖数: 1630
8
这个能通过编译么。。。
还是我老了。。。

【在 d****n 的大作中提到】
: 你那是value=map[key1] 的size不是map 的size.
l*********s
发帖数: 5409
9
why? It saves your the trouble to do checking and thus faster. This is
perfect in some user cases. If you want strict query, there are find and
count methods for you.

【在 b*****n 的大作中提到】
: 如果key1不存在,map1[key1].size()直接fail是不是更好?
:
: <<

a*****i
发帖数: 268
10
map1[key1]返回一个引用吧? 返回引用的函数好像没法fail。

【在 b*****n 的大作中提到】
: 如果key1不存在,map1[key1].size()直接fail是不是更好?
:
: <<

f*******n
发帖数: 12623
11
It can throw an exception

【在 a*****i 的大作中提到】
: map1[key1]返回一个引用吧? 返回引用的函数好像没法fail。
1 (共1页)
进入Programming版参与讨论
相关主题
member and friendabout new operator
请问关于overloading <<c++ 得最基本问题
A try-catch problem in C++私有成员不能用类成员函数修改?
a simple question for C++ class请教 C++的一个困惑 (operator delete)
c++ 是否也有class method??面试问题
two c++ interview questions! (转载)C++重载<<错误?
conversion between const to nonconst请教一个基本的constructor和destrcutor问题
C++ formatted output question用数组做参数,在函数内部如何知道数组的size?
相关话题的讨论汇总
话题: key1话题: map1话题: std话题: endl话题: cout