我很好奇你如何在c ++中分配一个新的布尔数组指针。我做了一些环顾四周,但找不到任何类似于我学会分配新指针的东西。
分配一个我学会做的新的int指针
int * intPointer = new int;
布尔数组的正确方法是什么?我试过了:
bool * boolArr[] = new [] bool;
但我得到了错误"预期的类型说明符' ['令牌
答案 0 :(得分:7)
如果要动态分配布尔数组,则需要执行
bool *arr = new bool[10];
您必须指定数组大小。
静态分配的语法是
bool arr[10];
答案 1 :(得分:2)
如果要动态分配布尔数组,则需要执行
std::vector<bool> arr;
arr.reserve(10);
您不必指定尺寸。
静态分配的语法是
std::array<bool, 10> arr;
答案 2 :(得分:0)
动态分配大小为n的布尔数组
bool* arr = new bool[n];
静态分配。
bool arr[n];
动态数组是通过 Heap Memory 分配的,这在数组大小可能很大的情况下更好。
理想情况下,您还应该使用
手动删除动态分配的数组空间delete[] arr
在临时使用的情况下,删除分配的空间可能是可选的,但是绝对鼓励您将其作为专业实践。