다음 코드는 정상입니까?처음 삽입하지 않고 표준 맵 요소에서 함수 호출
map<int,A> m;
A a = m[5];
어떻게 참조로 액세스에 대한 :
나는이 작업을 수행 할 수 있습니다, 또한map<int,A> m;
m[0] = A();
m[0].foo();
을 그리고 :
class A
{
public:
A();
void foo();
};
map<int,A> m;
m[0].foo();
또는 내가 다음을 수행해야합니까
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