c++ wxwidgets 定义字符串数组
时间: 2024-09-15 10:10:40 浏览: 50
在 C++ 的 wxWidgets 库中,虽然主要是 GUI 开发,但是处理字符串数组(std::string 或 wxString)仍然是常见的需求。定义一个字符串数组可以使用 std::vector 或者 C 风格数组。这里给出两种方法的例子:
**1. 使用 std::vector<wxString>**
```cpp
#include <wx/wx.h>
#include <vector>
class MyFrame : public wxFrame {
public:
MyFrame()
{
wxString array[] = {"Element 1", "Element 2", "Element 3"};
std::vector<wxString> stringVector(array, array + sizeof(array) / sizeof(array[0]));
for (const auto& element : stringVector)
{
wxLogMessage(element); // 打印元素
}
}
};
```
在这里,`array` 是一个 C 风格的字符串数组,通过 `std::vector` 转换为动态大小的容器。
**2. 使用 C 风格数组 (仅限于静态尺寸)**
```cpp
#include <wx/wx.h>
void PrintArray(const wxString arr[], size_t size)
{
for (size_t i = 0; i < size; ++i)
{
wxLogMessage(arr[i]); // 打印每个元素
}
}
class MyFrame : public wxFrame {
public:
MyFrame()
{
static const wxString myStringArray[] = {"Element 1", "Element 2", "Element 3"};
PrintArray(myStringArray, WXSIZEOF(myStringArray) / sizeof(myStringArray[0]));
}
};
```
这种方法适用于数组大小已知且不变的情况下。
阅读全文