如何在函数参数中处理多个`const char*`变量?
时间: 2024-09-21 15:07:56 浏览: 41
在C++中,在函数参数中处理多个`const char*`变量,你可以将它们作为数组传递,或者使用字符串字面量连接,或者利用C++11以后引入的`std::initializer_list`特性。这里有几个例子:
1. **数组传递**:
```cpp
void printBoundingBox(const char* names[], float coordinates[]) {
for (size_t i = 0; i < sizeof(names)/sizeof(names[0]); ++i) {
std::cout << "区域: " << names[i] << "\n";
std::cout << "位置: [" << coordinates[i * 2] << ", " << coordinates[i * 2 + 1] << "]\n";
}
}
```
2. **字符串字面量连接**:
```cpp
void printBoxStrings(const std::vector<std::pair<const char*, std::pair<float, float>>> boxes) {
for (const auto& pair : boxes) {
std::cout << "区域: " << pair.first << "\n";
std::cout << "位置: [" << pair.second.first << ", " << pair.second.second << "]\n";
}
}
```
3. **C++11+的`std::initializer_list`**:
```cpp
void printBoxList(const std::initializer_list<std::pair<const char*, std::pair<float, float>>> boxes) {
for (const auto& box : boxes) {
//...
}
}
```
阅读全文