我使用map来存储索引(long long int)作为键,以及数字密度(double)。当我修改数字密度时,我检查感兴趣的索引是否已被定义为关键:(a)如果有,则修改它的相关密度(b)如果它没有,则创建密钥和相关密度。
然而,我发现如果我这样做,似乎也会执行相同的操作。假设我定义了一个地图
std::map < long long int, double> test;
然后按如下方式分配/修改密度值:
test[100] += d100;
test[101] += d101;
...
对于某些密度dN。有趣的是,在执行此操作时,我的原始检查是否存在密钥似乎是不必要的,因为我可以定义然后修改密钥:
test[200] += 5.;
test[200] += 7.;
如果我不检查某个密钥是否已经存在,看起来效率要高得多,因为我的地图会很长,而且我会对它进行很多修改。这是好的编码练习吗?