其他分享
首页 > 其他分享> > memset c中的一对数组

memset c中的一对数组

作者:互联网

我有一对对.我想在这个数组上使用memset来生成0,1或-1.我该怎么做?这是我们一直做的正常程序吗?

该对和数组是:

std::pair<int, int> ar[100][100];

解决方法:

不要在任何不是POD类型的东西上使用memset(std :: pair不是) – 它不会很好(这是不明确的行为).

具有构造函数的类需要调用那些构造函数 – memset不会这样做.具有非POD数据成员的类需要调用那些成员的构造函数 – memset不会这样做.

对于小型阵列,您可以使用aggregate initialization.
对于更大的阵列,您可以使用循环.
还有std::fill.

我还建议在编译时知道大小时使用std::array而不是C风格的数组 – 否则为std::vector.

标签:memset,std-pair,c
来源: https://codeday.me/bug/20190727/1551458.html