在C++中,默认情况下,数组中的元素是未初始化的,并且其初始值取决于它们在程序中所处的内存位置。以下是一些解决方法,可以在不同的内存位置中设置C++数组的默认值:
#include
// 全局范围内的静态数组
int globalArray[5];
void foo() {
// 函数内部的静态数组
static int staticArray[5];
for (int i = 0; i < 5; i++) {
std::cout << globalArray[i] << " "; // 输出:0 0 0 0 0
std::cout << staticArray[i] << " "; // 输出:0 0 0 0 0
}
}
int main() {
foo();
return 0;
}
#include
#include
int main() {
int* dynamicArray = new int[5];
std::memset(dynamicArray, 0, 5 * sizeof(int));
for (int i = 0; i < 5; i++) {
std::cout << dynamicArray[i] << " "; // 输出:0 0 0 0 0
}
delete[] dynamicArray;
return 0;
}
#include
void foo() {
int localArray[5];
for (int i = 0; i < 5; i++) {
localArray[i] = 0;
std::cout << localArray[i] << " "; // 输出:0 0 0 0 0
}
}
int main() {
foo();
return 0;
}
请注意,以上示例仅演示了一些常见的设置C++数组默认值的方法。具体的方法和实现可能会根据实际情况而有所不同。
上一篇:不同MySQL连接的读一致性