- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当与 std::map
一起使用时,我对 std::piecewise_construct
有点困惑。示例:
std::map<std::string, std::string> m;
// uses pair's piecewise constructor
m.emplace(std::piecewise_construct,
std::forward_as_tuple("c"),
std::forward_as_tuple(10, 'c'));
我不确定 emplace()
如何知道在使用 piecewise_construct
时如何以不同方式处理这种类型的构造。不应该是:std::piecewise_construct(std::forward_as_tuple("c"), std::forward_as_tuple(10, 'c'))
?它是如何仅使用逗号工作的,我没有看到重载的逗号运算符或 emplace
的特殊重载来分段处理变量参数(如图所示 here )。
最佳答案
std::map::emplace
使用传递给 emplace
的参数直接调用构造函数(转发)类型 std::map<std::string, std::string>::value_type
(这是 std::pair<const std::string, std::string>
的类型定义)。
关于c++ - std::piecewise_construct 语法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230458/
如果我创建一个带有 explicit 的结构构造函数 struct A { int x; explicit A(int x):x(x){}; }; 然后将其用作 mapped_type
当与 std::map 一起使用时,我对 std::piecewise_construct 有点困惑。示例: std::map m; // uses pair's piecewise construc
std::piecewise_construct,在 中定义,具有内部链接,因为它被声明为 constexpr。我想知道在 header 中使用 std::piecewise_construct 是否
我有一个 unordered_map哪些商店对。我想用这个片段放置对: map.emplace(std::piecewise_construct, std::f
我是一名优秀的程序员,十分优秀!