昨晚和同事为这个问题几乎纠结了一夜, C++代码在VS上编译与运行一切正常, 但在同事的Linux上的g++上运行报错, 这bug查找了半天都没找到原因, 原本怀疑是g++版本的问题, 可是同事后面发现原来是Python使用C++的容器类时, 只是为当前容器分配了内存, 但并未对容器进行初始化, 导致运行时出现一系列错误.
针对这个问题, 可以类似C#的写法, 在使用前进行显式的初始化, 如
std::vectorvec = std::vector ();
或者还可以利用C++11提供的allocator模板类, (虽然我并没查到怎么搞……后面再看看叭, 搬砖先QAQ)
最后, 为同事的耐心与对bug的分析能力点个赞~