QT中foreach用法
foreach(variables ,Container)關(guān)鍵字是Qt對c++的一個擴展,主要用于按順序歷經(jīng)容器(container)中的對象,
foreach用法類似于for循環(huán),但是又有所不同,foreach可以使用一個變量名來遍歷容器中的所有元素。
foreach宏的參數(shù)依次為:元素類型,元素名,容器類型,容器名。
假設(shè)有個vector如下面的定義:
vector<int> v;那么遍歷v可以使用下面的代碼:
foreach(int e , vector<int> v)
{//使用(e)來訪問v的元素
}
例如:
QLinkList list;
QString str;
foreach(str , list)
{
qDebug()<<str;
}
這樣就可以歷經(jīng)list里存儲的對象了,它的作用相當于標準C++中的iterator
QLinkList list;
QLinkListIterator i(list);
while(i.hasNext()) {
qDebug()<<i.next();
}
例如:獲取網(wǎng)絡(luò)通信參數(shù)地址
QList<QHostAddress> list = QNetworkInterface::allAddresses();
foreach (QHostAddress address, list)
{
qDebug() <<address;
}
輸出:
QHostAddress( "FE80::2828:5A2D:53EB:AF76%101" )
QHostAddress( "169.222.175.158" )
QHostAddress( "192.168.37.1" )
QHostAddress( "192.168.127.1" )
QHostAddress( "FE80::3C06:E1F9:4614:184E%13" )
QHostAddress( "169.254.34.76" )
QHostAddress( "2001:DA8:C800:AD06:6DEE:7E90:6175:D582" )
QHostAddress( "2001:DA8:C800:AD06:685D:ABC1:38DA:6B99" )
QHostAddress( "FE80::6DEE:7E90:6175:D483%12" )
QHostAddress( "172.20.41.109" )
QHostAddress( "FE80::452C:B25A:D182:8534%12" )
QHostAddress( "192.168.110.1" )
QHostAddress( "FE80::797D:7F5E:605D:DF4B%12" )
QHostAddress( "192.168.49.1" )
QHostAddress( "::1" )
QHostAddress( "127.0.0.1" )
QHostAddress( "2001:0:9D38:6AB8:3CB0:38AD:53EB:D438" )
QHostAddress( "FE80::3CB0:38AD:53EB:D438%11" )
總結(jié)
以上是生活随笔為你收集整理的QT中foreach用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东莞搬家公司服务质量最好的是哪家
- 下一篇: STL之deque详解