下面的代碼是否正常?在不插入標準地圖元素的情況下調用函數
class A
{
public:
A();
void foo();
};
map<int,A> m;
m[0].foo();
還是我必須要做到以下幾點:
map<int,A> m;
m[0] = A();
m[0].foo();
還有,我可以這樣做:
map<int,A> m;
A a = m[5];
又有怎樣通過參考訪問:
void foo(A & a);
map<int,A> m;
foo(m[5]);
今天已經討論過http://stackoverflow.com/questions/1639544/why-does-stdmap-operator-create-an-object-if-the-index-doesnt-exist – AnT 2009-10-28 21:17:15