gpt4 book ai didi

c++ - std::vector emplace 和 std::vector emplace 成对

转载 作者:搜寻专家 更新时间:2023-10-31 00:54:34 25 4
gpt4 key购买 nike

我有这个代码:

std::vector<std::pair<const std::string, int>> vec;

vec.emplace_back("a", 1); //success
vec.emplace(vec.end(), "b", 2); //compile error

vec.emplace_back(std::make_pair<const std::string, int>("c", 3)); //success
vec.emplace(vec.end(),
std::make_pair<const std::string, int>("d", 4)); //compile error

你能解释一下为什么吗?

最佳答案

std::vector::emplace_back 除外, std::vector::emplace要求元素类型满足MoveAssignable的要求,但是std::pair<const std::string, int>const std::string作为它的第一个元素则不满足。

Type requirements

关于c++ - std::vector emplace 和 std::vector emplace 成对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45049486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com