我知道下面的代码不能编译,因为A的移动构造函数被删除,因为互斥量不可移动。 class A {
public:
A(int i) {}
private:
std::mutex m;
};
int main() {
std::vector<A> v;
v.emplace_back(2);
}
但是,如果我想我的A被存储在
我正在写一个简单的通用分析器组合库。这意味着库包含许多小的函数对象,称为解析器,这(调用时)字符串作为输入,并返回ParseResults作为输出,其中一个ParseResult是 template <typename A> using ParseResult = std::pair<A, std::string> 名单列表为空,如果解析器做不匹配,如果匹配,则包含单个结果,并且可能会以多种(不明