Mis*_*mad 3 c++ memset std-pair
我有一对对.我想在这个数组上使用memset来生成0,1或-1.我该怎么做?这是我们一直做的正常程序吗?
该对和数组是:
std::pair<int, int> ar[100][100];
Run Code Online (Sandbox Code Playgroud)
不要memset在任何不是POD类型的东西上使用(std::pair不是) - 它不会很好(这是不明确的行为).
具有构造函数的类需要调用那些构造函数 - memset不这样做.具有非POD数据成员的类需要被调用的那些成员的构造函数 - memset不这样做.
对于小型数组,您可以使用聚合初始化.对于更大的阵列,您可以使用循环.而且还有std :: fill.
当在编译时知道大小时,我还建议在C风格的数组上使用std :: array,否则使用std :: vector.