10-Qt6 QStringView
生活随笔
收集整理的這篇文章主要介紹了
10-Qt6 QStringView
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QStringView類是QString API的只讀子集,還提供有關UTF-16字符串的統一視圖。
https://doc.qt.io/qt-6/qstringview.html
從Qt5.10開始提供,它的優勢就是因為是只讀沒有深度復制等所以快,看以下范例即可:
#include <QCoreApplication>void readname(QString &name) //address of is access of {name.insert(0,"Mr.");qInfo() << "Changed" << name; }void readonly(QStringView name) {qInfo() << "name" << name.data() << name; }int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QString firstname = "Bryan";QString lastname = "Cairns";//--- Copy and modification issues//readname(firstname);qInfo() << "Original" << firstname;//---Read only, no copyqInfo() << "name" << firstname.data() << firstname;readonly(firstname);//--- Basic parsingQString fullname = firstname + " " + lastname;foreach(QStringView part, QStringView(fullname).split(QChar(' '))){qInfo() << "part" << part;//Data types can get a bit annoyingif(part.startsWith(QStringView(firstname),Qt::CaseInsensitive)){qInfo() << "~First name detected~";readonly(QStringView(firstname).mid(1,3));}}return a.exec(); }額外介紹下 foreach
在C++中并沒有foreach關鍵字。QT自己增加了這一個關鍵字,就像slots和signals、emit等一樣。可以理解為for的高級版。
在C#、Java等語言中,可以直接使用foreach,為語言自帶關鍵字,用法相似。
foreach (varItem , Items)varItem(variable)是容器Items(container)中的一個項,相當于:variable=container.item 。遍歷會從頭遍歷到尾。
QStringList slt = {"abc", "def", "ghi"}; foreach(QString s , slt ) {cout<<s<<endl; } // 輸出結果為: abc def ghi總結
以上是生活随笔為你收集整理的10-Qt6 QStringView的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9-Qt6 QString和QChar
- 下一篇: 12-Qt6 列表类QList