一个简单的问题,但我无法在网上或我正在使用的教科书中找到确凿的答案:
我有一个Map<string, Vector<char>>
,我需要知道我使用的字符串键是否是Map
中定义的键。我知道如果密钥未定义,.get(key)
将返回值类型的默认值,但我不确定Vector<char>
的默认值是什么。
答案 0 :(得分:2)
它是std::vector<char>()
。
另外可以说默认构造函数生成该特定类的默认对象。
答案 1 :(得分:1)
我不确定
vector<char >
的默认值是什么
它将是一个默认构造的std::vector
对象。
但是,检测map
是否具有与给定密钥对应的条目的更好方法是使用find
并检查返回的值是否为可解除引用的iterator
。
if ( myMap.find(myKey) != myMap.end() )
{
// The map has an entry corresponding to myKey
}
else
{
// The map does not have an entry corresponding to myKey
}
答案 2 :(得分:0)
默认vector<char>
将是使用默认构造函数构造的,因此与执行相同:
std::vector<char> charVector;
这样的矢量将是空的,而且几乎可以说是关于它的所有内容。
答案 3 :(得分:-1)
std::vector<char>
默认为空矢量。