C++中STL庫(kù)應(yīng)用的方法

這篇文章主要介紹C++中STL庫(kù)應(yīng)用的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

員工經(jīng)過(guò)長(zhǎng)期磨合與沉淀,具備了協(xié)作精神,得以通過(guò)團(tuán)隊(duì)的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專注于為企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、電商網(wǎng)站開發(fā),小程序制作,軟件按需設(shè)計(jì)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

1、std::max_element的使用

std::min_element類似,求最小

#include <iostream>
#include <iterator>
#include <QApplication>
bool myfn( int i, int j )
{
 return i < j;
}

int main( int argc, char* argv[] )
{
 QApplication a( argc, argv );
 std::list<int> zx {1, 2, 3, 8, 5, 44};

 //方法一 調(diào)用函數(shù)
 auto biggest = std::max_element( std::begin( zx ), std::end( zx ), myfn );
 std::cout << "Max element is " << *biggest
      << " at position " << std::distance( std::begin( zx ), biggest ) << std::endl;
 //方法二 調(diào)用Lamda表達(dá)式
 auto nn = std::max_element( std::begin( zx ), std::end( zx ), []( int& i, int& j ) -> bool
 {
  return i < j;
 } );
 std::cout << "Max element is " << *nn
      << " at position " << std::distance( std::begin( zx ), biggest ) << std::endl;
 return a.exec();
}

升級(jí)可以用到任務(wù)隊(duì)列管理中,通過(guò)任務(wù)優(yōu)先級(jí),選擇優(yōu)先級(jí)最高的任務(wù)

auto max_pos =
   std::max_element( m_taskList.cbegin(), m_taskList.cend(),
            []( const TaskManagePtr & task1, const TaskManagePtr & task2 ) -> bool
  {
   return task1->priority() < task2->priority();
  } );

知識(shí)點(diǎn)擴(kuò)展:

C++ 的標(biāo)準(zhǔn)模板庫(kù)(Standard Template Library,STL)是泛型程序設(shè)計(jì)最成功應(yīng)用的實(shí)例。STL 是一些常用數(shù)據(jù)結(jié)構(gòu)(如鏈表、可變長(zhǎng)數(shù)組、排序二叉樹)和算法(如排序、查找)的模板的集合,主要由 Alex Stepanov 主持開發(fā),于 1998 年被加入 C++ 標(biāo)準(zhǔn)。

有了 STL,程序員就不必編寫大多數(shù)常用的數(shù)據(jù)結(jié)構(gòu)和算法。而且 STL 是經(jīng)過(guò)精心設(shè)計(jì)的,運(yùn)行效率很高,比水平一般的程序員編寫的同類代碼速度更快。

有一種說(shuō)法,C++ 是用來(lái)編寫大程序的,如果只是編寫幾十上百行的小程序,用C語(yǔ)言就可以,沒(méi)有必要用 C++。

這個(gè)說(shuō)法是不準(zhǔn)確的。可以說(shuō),寫小程序沒(méi)必要用面向?qū)ο蟮姆椒?,但是?C++ 還是能夠帶來(lái)很大方便的,因?yàn)?C++ 中有 STL。哪怕編寫只有十幾行的程序,也可能會(huì)用到 STL 中提供的數(shù)據(jù)結(jié)構(gòu)和算法。例如對(duì)數(shù)組排序,用 STL 中的 sort 算法往往只需要一條語(yǔ)句就能解決,而不用像調(diào)用C語(yǔ)言庫(kù)函數(shù) qsort 那樣還要編寫比較函數(shù)。

以上是“C++中STL庫(kù)應(yīng)用的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:C++中STL庫(kù)應(yīng)用的方法
文章URL:http://muchs.cn/article18/ipgddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google關(guān)鍵詞優(yōu)化、App設(shè)計(jì)、ChatGPT網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化