c++ 自定义字符串数组和赋值
时间: 2024-09-18 08:15:02 浏览: 41
在 C++ 中,自定义字符串数组通常是指通过 `std::string` 类型创建并管理的动态数组。首先,你需要包含 `<string>` 头文件,并使用 `std::vector<std::string>` 或手动分配内存来存储字符串。
**使用 `std::vector` 实现:**
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<std::string> customStrings;
// 动态添加元素
customStrings.push_back("Hello");
customStrings.push_back("World");
// 访问和操作字符串
for (const auto& str : customStrings) {
std::cout << str << " ";
}
return 0;
}
```
在这个例子中,`customStrings` 是一个动态大小的字符串向量,你可以随时添加或删除元素。
**手动分配内存实现(C风格):**
```cpp
#include <iostream>
#include <cstring>
int main() {
char* strArray[5]; // 定义一个最大长度为5的字符指针数组
// 分配内存
strArray[0] = new char[6]; // 假设每个字符串最多6个字符(包括'\0')
strcpy(strArray[0], "Hello"); // 赋值
strArray[1] = new char[6];
strcpy(strArray[1], "World");
// 访问和操作字符串
for (size_t i = 0; i < sizeof(strArray) / sizeof(char*); i++) {
std::cout << strArray[i] << " ";
}
// 释放内存
for (size_t i = 0; i < sizeof(strArray) / sizeof(char*); i++) {
delete[] strArray[i];
}
delete[] strArray;
return 0;
}
```
这里我们手动管理内存,每次添加新字符串时都需要分配新的内存。
阅读全文