gpt4 book ai didi

c++ - 通过 memset 函数将 2D int 数组元素设置为 1

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:31 27 4
gpt4 key购买 nike

在c++中,我们通常使用memset将所有元素设置为零,如:

int a[5][5];
memset(a,0,sizeof(a));

如果我想将所有 int 元素设置为 1 怎么办?

memset(a, 1, sizeof(a));

不起作用,因为我不能将所有字节都设置为 1

我想知道是否有类似memset 的函数来将所有元素(NOT JUST BYTES) 设置为特定的.

最佳答案

使用 std::fill会工作,但你必须求助于使用 reinterpret_cast<> ,这通常被认为是错误的形式:

#include <algorithm>

int a[5][5];
std::fill(reinterpret_cast<int*>(a),
reinterpret_cast<int*>(a)+(5*5),
1);

或者,您可以获取第一个元素的地址,这同样很笨重:

std::fill(&a[0][0],&a[0][0]+(5*5),1);

关于c++ - 通过 memset 函数将 2D int 数组元素设置为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17079379/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com