- 相關(guān)推薦
C語(yǔ)言中根據(jù)成員變量來(lái)排序的方法
類(lèi)的成員變量和普通變量一樣,也有數(shù)據(jù)類(lèi)型和名稱(chēng),占用固定長(zhǎng)度的內(nèi)存空間。但是,在定義類(lèi)的時(shí)候不能對(duì)成員變量賦值,因?yàn)轭?lèi)只是一種數(shù)據(jù)類(lèi)型,本身不占用內(nèi)存空間,而變量的值則需要內(nèi)存來(lái)存儲(chǔ)。下面是小編為大家搜索整理的C語(yǔ)言中根據(jù)成員變量來(lái)排序的方法,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1 //針對(duì)類(lèi)中某一對(duì)象比較'<'
2 template
3 struct lt_pred{
4 lt_pred(V T::*_pm){pm=_pm;}
5 V T::*pm;
6 bool operator()(const T& a, const T& b){
7 return a.*pm < b.*pm;
8 }
9 };
10
11 template
12 lt_pred
13 return lt_pred
14 }
15
16 //sort(ha,ha+3, create_lt_pred(&hasintmember::a));
【相關(guān)閱讀】
C語(yǔ)言數(shù)據(jù)精度介紹
C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書(shū)寫(xiě)形式自由,區(qū)分大小寫(xiě)。把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。
在軟件開(kāi)發(fā)中我們經(jīng)常遇到數(shù)據(jù)精度處理問(wèn)題。
先看如下代碼
#include #include #include
int main ( void )
{
char *s="0.100001200";
fprintf ( stderr, "%f\n",atof(s));
return 0;
}
以上代碼編譯后執(zhí)行,結(jié)果如下:
$ 0.100001
$
問(wèn)題出在哪里,是 atof 函數(shù)的問(wèn)題? 將 atof(s) 替換成 strtod(s,NULL) 后,結(jié)果依然如此。
經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)并非是 atof 或 strtod 函數(shù)轉(zhuǎn)換時(shí)精度丟失,而是 %f 的格式化輸出符默認(rèn)的輸出為小數(shù)點(diǎn)后面 6 位的.精度。
我們將上面的代碼修改為:
#include #include #include
int main ( void )
{
char *s="0.100001200";
fprintf ( stderr, "%18.10f\n",atof(s));
return 0;
}
編譯后執(zhí)行,結(jié)果如下
$ 0.100001200
$
【C語(yǔ)言中根據(jù)成員變量來(lái)排序的方法】相關(guān)文章:
C語(yǔ)言中的相關(guān)變量知識(shí)10-25
C語(yǔ)言中使用快速排序算法對(duì)元素排序的實(shí)例06-20
C語(yǔ)言的冒泡排序方法08-22
c語(yǔ)言中指針的使用方法10-12
C語(yǔ)言中返回字符串函數(shù)的實(shí)現(xiàn)方法09-19
C語(yǔ)言中volatile的含義08-14
C 語(yǔ)言中宏的使用08-02
C語(yǔ)言中的鏈接編寫(xiě)05-26
C語(yǔ)言中指針的概念03-16
c語(yǔ)言中邏輯或怎么用07-05