c++成员变量数组初始化赋值
时间: 2024-09-25 07:17:10 浏览: 49
解决C++全局变量只能初始化不能赋值的问题
在 C++ 中,成员变量数组的初始化赋值通常涉及到静态数组、动态数组或者是初始化列表。以下是三种常见情况:
1. **静态数组**:
```cpp
class MyClass {
public:
int array[5] = {0, 1, 2, 3, 4}; // 数组在类声明时已初始化
};
```
这里的数组已经在类定义时进行了初始化。
2. **动态数组**:
```cpp
class MyClass {
public:
std::vector<int> array; // 动态数组可以分配任意大小
MyClass() : array(5) { // 构造函数中初始化
for (int i = 0; i < 5; ++i)
array[i] = i;
}
};
```
这里在构造函数中动态创建并赋值。
3. **初始化列表**:
```cpp
class MyClass {
public:
int elements[] = {10, 20, 30, 40, 50}; // 初始化列表允许在类定义时一次性初始化
MyClass(int* values, int size)
: elements(values), nElements(size) {} // 接收指针和大小
private:
int* elements;
int nElements;
};
```
通过接收指针和大小来初始化部分元素。
阅读全文