如何约束模板参数以符合 std::map 中的键?
我有一个类模板,打算使用其参数 K 作为映射的键。 有没有办法限制模板参数为符合std::map中Key的类型? 我意识到即使没有这样的约束,编译器也会吐出…
使用 boost::shared_ptr 编译 std::map 时出错
我正在尝试在 vs2005 中编译我的代码。 我正在使用 std::map 和 boost::shared_ptr (v1.47.0) 我的代码看起来像这样 struct B { int a; } typedef boo…
使用比较运算符将 std::string 作为 std::map 中的键
我试图使用 std::string 作为 std::map 中的键,但是我无法正确找到()。我的代码有点复杂而且很大,所以这是一个小程序,演示了我遇到的问题。如果有…
错误:没有匹配的函数可用于调用“CustomerData::CustomerData()”
这是我的 CreateCustomer 方法: CustomerData Database::createCustomer(std::string const& name) { CustomerData data(customersDb.size()+1, name…
无法使用 std::string 作为键迭代 std::map
我的问题几乎与这个问题相同,但是那里的解决方案没有解决我的错误。 在 main.h 中,我有: #include #include std::map receive_times; 在 main.cpp …
从 std::map 中删除动态分配的内存
我有一张地图 std::map MyMap,这里A是一个类;它的对象是使用“new”创建的,并像这样插入到地图中, MyMap["first"] = new A(); MyMap["second"] = …
迭代 std::map 的顺序是否已知(并由标准保证)?
我的意思是 - 我们知道 std::map 的元素是根据键排序的。因此,假设键是整数。如果我使用 for 从 std::map::begin() 迭代到 std::map::end(),标准保…
在map中,是否保证int初始化为零?
比如,统计一下书中的单词出现次数,我看到有人简单地写道: map count; string s; while (cin >> s) count[s]++; 这是正确的做法吗?我在我的机器上…
Boost.Assign:将对象与map_list_of一起使用?
使用带有 boost 的 C++。在 Boost.Assign 中,我可以将 new 运算符与 map_list_of 一起使用吗? 例如: std::map objects = boost::assign::map_list_…
从C++下去到 C: std::map 的替代品?
我正在寻找 std::map 的简约替代方案,它将进入 Windows 内核驱动程序,因此它应该相当快..预计它会容纳相对较小的数量(工作集中约为 200)键和大量…
删除元素时映射迭代器如何失效?
使用擦除方法时,迭代器何时以及如何在映射中失效? 例如: std :: map aMap ; aMap [ 33 ] = 1 ; aMap [ 42 ] = 10000 ; aMap [ 69 ] = 100 ; aMap […
C++模板化地图包含自身
我有一个模板化类,可以将地图类型作为模板参数。 template class my_class { map_t my_map; }; 现在我希望地图的值类型等于此类。 my_class > > prob…
C++使用 [] 运算符进行 std::map 本质类型初始化
多好的标题啊,假设我有一个这样的映射: std::map m; 如果我写下以下内容, cout<