日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

10-Qt6 QStringView

發布時間:2025/3/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。