C++调用Python时遇到的坑
最近在做的东西中需要在C++中调用Python的代码,遇到了一些问题,期间尝试用了各种搜索引擎,花费了十几个小时才解决,真感觉智商是个好东西,可惜自己没有/(ㄒoㄒ)/~~,所以把自己遇到的问题记录下来,没准可以帮到别人。特别鸣谢:某著名搜索引擎真是厉害。
最近在做的东西中需要在C++中调用Python的代码,遇到了一些问题,期间尝试用了各种搜索引擎,花费了十几个小时才解决,真感觉智商是个好东西,可惜自己没有/(ㄒoㄒ)/~~,所以把自己遇到的问题记录下来,没准可以帮到别人。特别鸣谢:某著名搜索引擎真是厉害。
std::bind是一个函数模板,它可以将一个可调用对象包装成另一个可调用对象,并预先绑定一些参数或者占位符。 例如: 此时,调用f2(3.1416, 2.7183)等同于调用f1(3, 2.7183, 3.1416)。 如果需要多个可调用对象,且只有默认参数或参数顺序不同,就可以通过std::bind来生成这些可调用对象,而不是重新编写一个函数。
今天在使用C++中的unordered_map的时候遇到一个小问题。我试图将std::pair<int, int>作为键放到unordered_map中,结果编译器无情地报错。众所周知,一旦模板类编译出错,错误信息一般都要几十行甚至数百行,在其中“徜徉”了许久之后,我发现下面的错误信息可能对我会有帮助: