我知道当你导入一个模块时,该文件被编译成一个.pyc文件以使其更快?为什么主文件也没有编译成.pyc?这会减慢速度吗?保持主文件尽可能小是不是更好,还是没关系?
在向量上使用STL排序算法时,我想传入我自己的比较函数,该函数也需要一个参数.
例如,理想情况下我想做一个本地函数声明,如:
int main() {
vector<int> v(100);
// initialize v with some random values
int paramA = 4;
bool comp(int i, int j) {
// logic uses paramA in some way...
}
sort(v.begin(), v.end(), comp);
}
Run Code Online (Sandbox Code Playgroud)
但是,编译器抱怨这一点.当我尝试这样的事情:
int main() {
vector<int> v(100);
// initialize v with some random values
int paramA = 4;
struct Local {
static bool Compare(int i, int j) {
// logic uses paramA in some way...
}
};
sort(v.begin(), v.end(), Local::Compare);
}
Run Code Online (Sandbox Code Playgroud)
编译器仍然抱怨:"错误:使用包含函数的参数"
我该怎么办?我应该用全局比较函数制作一些全局变量吗?
谢谢.