gpt4 book ai didi

c++ - 在不先插入标准 map 元素的情况下调用函数

转载 作者:行者123 更新时间:2023-11-30 01:00:58 24 4
gpt4 key购买 nike

下面的代码可以吗?

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]);

最佳答案

map::operator [] 将在运行时创建一个新值(如果它尚不存在)。因此,您的所有代码示例都可以正常工作。

也就是说,这个例子:

 map<int,A> m;
m[0] = A(); // redundant
m[0].foo();

因为第二行是多余的,所以有点矫枉过正。

关于c++ - 在不先插入标准 map 元素的情况下调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com