如何使用memset设置2D数组的特定列

时间:2013-07-09 13:55:15

标签: c++ memset

伙计们,我现在有一个阵列xd [2] [10000]  我想运行一个从0到10000的循环 现在我希望当i = 0时,xd数组的值从0到10000变为0 当i = 1时,当xd [0] [2]到xd [0] [10000]的i = 2变为2时,从xd [0] [1]到xd [0] [10000]的值变为1相似所以我想为此使用memset函数,所以你们可以帮我解决它的代码。 类似于xd [1] [i]也 人们可以通过增加xd [0] [i] = i和xd [1] [i] = i轻松地做到这一点,我会得到相同的结果但我知道我不需要我想要这个用于另一个程序所以请只是memset功能

1 个答案:

答案 0 :(得分:2)

怎么样:

for (int i = 0; i < 10000; i++)
    xd[0][i] = i;

无需memset


当您的问题被标记为时,C ++标准库有许多不错的algorithms,其中一个名为std::iota,它将完全按照上述方式执行,但代码更少:< / p>

std::iota(std::begin(xd[0]), std::end(xd[0]), 0);