|
|
1
64
运算符[]如下所示:
如果你用一个 钥匙 这还不在映射中,它将默认构造一个 价值 钥匙
这里的价值是 int int() . 其他基元类型的初始化方式类似( 例如 , 双() , 长() , 等)。 最后,代码在映射中放入一个新对(wstrPlayerName,0),然后返回对int的引用,然后递增该引用。因此,如果希望从0开始,则无需测试元素是否存在。 |
|
|
2
12
这将默认构造的新实例
|
|
|
3
5
在递增该项之前,不应测试该项是否存在。正如其他人所说,[]操作符正是您所需要的。
但是,如果默认构造的值不适用于您呢?在您的情况下,找到元素是否已经存在的最佳方法是尝试插入它。这个
|
|
|
4
1
检查初始化规则。 参见4.5.5节的初始化C++ C++郎或C++ STD书。根据变量是本地变量、静态变量、用户定义变量还是常量变量,可以进行默认初始化。 在您的例子中,int被称为POD(普通的旧数据类型)。任何自动(在堆/局部变量上创建)POD变量都不是默认初始化的。因此,对于你来说,上面的“i”不会有零值。
|
|
|
Estus Flask · 符号字符串强制 8 年前 |
|
banan3'14 · Lambda作为Java中带有参数和原语的方法 8 年前 |
|
|
Leo Lai · std::map中的基元类型值是否已初始化? 9 年前 |
|
|
Lincoln Marr · 如何在java中将双精度数分割为整数? 9 年前 |