C++11遍历QString有多少种方法
时间: 2024-05-09 10:16:29 浏览: 87
在C++11中,遍历QString有以下几种方法:
1. 使用迭代器遍历
```c++
QString str("Hello, world!");
for(auto it = str.begin(); it != str.end(); ++it) {
QChar ch = *it;
// 处理字符
}
```
2. 使用C++11的范围for循环
```c++
QString str("Hello, world!");
for(QChar ch : str) {
// 处理字符
}
```
3. 使用std::for_each算法
```c++
#include <algorithm>
QString str("Hello, world!");
std::for_each(str.begin(), str.end(), [](QChar ch) {
// 处理字符
});
```
4. 使用std::accumulate算法
```c++
#include <numeric>
QString str("Hello, world!");
int count = std::accumulate(str.begin(), str.end(), 0, [](int sum, QChar ch) {
// 处理字符
return sum + 1;
});
```
以上就是C++11中遍历QString的几种方法。
相关问题
遍历 QStringList的几种写法
遍历QStringList的几种写法包括:
1. 使用for循环:
```cpp
QStringList list;
// 填充字符串列表
for (int i = 0; i < list.size(); ++i) {
QString item = list.at(i); // 对每个item进行处理
}
```
2. 使用C++11的范围for循环:
```cpp
QStringList list;
// 填充字符串列表
for (const QString& item : list) {
// 对每个item进行处理
}
```
3. 使用迭代器:
```cpp
QStringList list;
// 填充字符串列表
for (QStringList::iterator it = list.begin(); it != list.end(); ++it) {
QString item = *it;
// 对每个item进行处理
}
```
4. 使用Java风格的迭代器:
```cpp
QStringList list;
// 填充字符串列表
QMutableStringListIterator it(list);
while (it.hasNext()) {
QString item = it.next();
// 对每个item进行处理
}
```
5. 使用标准库算法:
```cpp
QStringList list;
// 填充字符串列表
std::for_each(list.begin(), list.end(), [](const QString& item) {
// 对每个item进行处理
});
```
Qt 如何遍历QStringList
要遍历QStringList,可以使用C++ STL中的迭代器,如下所示:
```cpp
QStringList strList = {"Hello", "world", "from", "ChitChat!"};
for (QStringList::const_iterator it = strList.constBegin(); it != strList.constEnd(); ++it) {
QString str = *it;
// 这里可以对每个字符串做一些操作
}
```
或者你也可以使用C++11中的foreach循环来遍历:
```cpp
QStringList strList = {"Hello", "world", "from", "ChitChat!"};
for (const QString& str : strList) {
// 这里可以对每个字符串做一些操作
}
```
这两种方法都可以遍历QStringList中的每个字符串。
阅读全文