1樓:Larry Sean
sort函式的第三個引數是可選的,可以填你自定義的比較函式,返回bool型別。這個比較函式會當成小於號用。
這樣就可以寫三個比較函式分別比較類中不同的值。如果從小到大就用小於號,從大到小就用大於號。
至於怎麼設計,怎麼選擇排哪個,判斷一下調不同的函式就好了。
好了,道理都講清楚了,加油 :P
2樓:lanceryou
首先公開資料,sort(vec.begin(),vec.end(),(student l,student r));xx是你要排的資料
3樓:管清文
struct
student
;vector
>v;sort (begin(v ),end(v ),(const student&a ,const student&b)); 4樓: class MyCompare bool operator ()(class student left ,class student right )private :int type;} vector student >vecCache ;////// sort (vecCache .begin (),vecCache .end (),MyCompare(0 ));sort (vecCache .begin (),vecCache .end (),MyCompare(1 ));sort (vecCache .begin (),vecCache .end (),MyCompare(2 ));應該類似這種吧, 不過student類應該封裝下取這個科目的函式或者 public出來. 單純的淫 動態 shared library,從英文本面意思很明確了,如果你的dll還要給別的pe模組使用,你就用動態dll,這樣不用所有模組都各自包含乙個dll,大家公用乙個dll就行,反正用的時候loadlibrary一下就行。去如果確實就你自己的程式使用,就靜態吧,打包省事兒點。 井底的bee... 諸葛不亮 QString和std string根本是兩個東西 QString才是字串處理,內部同一編碼為Unicode,只要字串轉成QString就沒任何擔憂了 std string那個渣渣,只是個封裝成class的char陣列罷了 對照Qt頂多就是QByteArray,還沒那個好用 std str... 沒辦法像標準庫那樣。標準庫可以只include標頭檔案是因為編譯器會預設鏈結標準庫的實現。其它回答裡面說的header only library,是把實現也一起寫在標頭檔案裡面了。不需要另外的cpp而已。如果你的目的是讓庫方便使用,就做成header only library,或者退一步,提供乙個標...C 的dll庫,採用動態呼叫更好還是靜態呼叫更好?
C 中,如何在標準庫的std string和常用庫(Qt,VC等)的QString之間進行選擇?
c 怎麼讓自己寫的庫像標準庫那樣只需include標頭檔案就可以使用而不需要把實現原始碼加入工程裡?