【发布时间】:2016-06-21 02:46:15
【问题描述】:
我对 C++ 很陌生,如果错误很愚蠢,请原谅我。我目前正在研究一个可以保存单个字符(每个字符只有一个)并进行一些简单操作的类。 我遇到的问题似乎出在类的构造函数中。因为我只有字符,所以我使用大小为 256 的布尔数组。所以如果我想将字符“A”添加到我的数组中,我只需将数组 [64] 翻转为 1。
为了以我想要的方式使用数组,我将每个索引都用零初始化。所以它看起来像这样:
Set<char>::Set() {
bool _elements[256] = {0};
}
如果我现在检查成员变量 _elements 的所有值,它不仅包含零。我不知道这可能是什么原因造成的。没有其他函数调用或介于两者之间的任何东西。
Set set;
for (int i = 0; i < 256; i++) { printf("%d\n", set._elemens[i]; }
【问题讨论】:
-
bool _elements[256] = {0};仅初始化第一个值。如果要初始化所有数组,则必须使用memsetC 函数的迭代并设置为 0 -
@fnc12 err no,所有都设置为零(
false,特别是在这种情况下)
标签: c++ arrays initialization