将数组的成员设置为零
set member of array to zero
早上,我希望有人在这里假设我具有以下结构,甚至更好
struct foo {
int a;
char b[10];
char c;
};
struct foo* bar;
bar = (struct foo*) malloc(sizeof(struct foo)*10);
memset(bar, -1, sizeof(struct foo)*10);
而不是
for (counter = 0; counter < 10; ++counter)
memset(bar[counter],0,sizeof(char)*10);
如何在所有数组中的所有char/b成员的所有数组中to to to to 0?
基本上,我的问题与这个问题有点相似
我想建议,而不是使用int b[10];
的C风格数组,而不是使用std::array<char,10> b;
。
然后,您可以通过这种方式填充零:b.fill(0);
。如果您需要将存储的地址传递给C风格功能,则可以使用b.data()
进行操作。当然,您仍然可以使用b[i]
访问其内容,但是如果您想要更多安全性,请使用b.at(i)
。
http://en.cppreference.com/w/cpp/container/array
您可以通过将每个数组元素的b
成员设置为零,将每个数组元素的b
成员设置为零。你快到了,但是:
- 您只想归零
b
成员。 - 您要零的东西不长8个字节。
&nbsp;
for (counter = 0; counter < 10; ++counter)
memset(bar[counter].b, 0, sizeof bar[counter].b);
相关文章:
- 嵌套在类中时无法设置成员数据
- 为什么将一个结构的引用设置为等于另一个结构只会更改一个数据成员?
- 聚合初始化,将成员指针设置为同一结构成员
- 在类 (C++) 之外设置 const int 成员变量
- 是否可以使用智能指针成员设置具有另一个结构的结构?
- 自定义 QML QQuick彩绘项目成员锚点未在 qml 中设置为父级
- 如何在C++中将 cin 设置为类的成员函数?
- 将 AlphaMode 成员设置为 DXGI_SWAP_CHAIN_DESC1 会使 CreateSwapChainFo
- 在VS2017中,我们如何在项目成员之间共享编译设置
- 如何为类中可能无法计算的成员设置值
- 如何在没有setter的情况下设置类内部类的成员变量?
- 在运行时为随机分布类成员设置最小和最大边界?
- 是否可以在C++中使用初始化列表设置数组的特定成员?
- 设置成员 GlobalCEFApp->OnWebKit使用函数地址初始化 C++生成器
- 一个线程设置成员,而另一个循环上方 - 是此螺纹 - 不安全
- 有没有办法使用显式实例化按类型设置成员变量
- 为什么不能为类实例设置成员值?
- 构造函数不设置成员变量
- 我可以在构造函数调用之前设置成员变量吗?
- 如何仅设置成员(如果存在)