小编Bha*_*arg的帖子

编辑给定键的无序映射中的值

以下是C++代码,用于计算杂志中的单词数.我试图添加单词,如果它的值不存在,如果它存在,增加它.

unordered_map<string,int>hash;
vector<string> magazine(m);

for(int i = 0;i <m;i++)
{
   cin >> magazine[i];
   if(hash[magazine[i]]>0)
       hash[magazine[i]]++;
   else
    hash.emplace(magazine[i],1);
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试输出时,所有杂志键都将0作为值.知道为什么吗?

c++ unordered-map emplace

3
推荐指数
1
解决办法
153
查看次数

为什么将int隐式转换为long long int会在C++中给出意想不到的答案?

我从阅读转换intlong long int正在促销,因此认为不应该有任何问题,因为没有数据丢失,不像反之亦然转换.

但是当我将两个int大的值相乘并存储它时long long int,它会显示负数.

例如:

int a=1000000, b=1000000;
long long int c=a*b;
cout<<c;
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我一个负值.有人可以解释原因吗?

c++ type-conversion

2
推荐指数
2
解决办法
353
查看次数

标签 统计

c++ ×2

emplace ×1

type-conversion ×1

unordered-map ×1