2011年12月7日
#
早上收到短信,叫我給家里打個(gè)電話,心里當(dāng)時(shí)很不爽,自己打不行嗎?老是要找別人。心里想又是錢(qián)不夠了吧。
剛剛打了電話回去,聽(tīng)見(jiàn)說(shuō)自己不行了,心里又有些火帽,對(duì)他也是冷嘲熱諷的,后來(lái)靜下心來(lái)想,他老了,只是想多活兩年,哥哥不在了,責(zé)任就落到了自己的肩上,這是我的責(zé)任,我要勇于承擔(dān),敢于面對(duì),畢竟他再有一萬(wàn)個(gè)不對(duì),他也老了,他只是想多活幾年。
摘要: http://chio.cnblogs.com/(1) 在實(shí)際的程序中,引用主要被用做函數(shù)的形式參數(shù)--通常將類(lèi)對(duì)象傳遞給一個(gè)函數(shù).引用必須初始化. 但是用對(duì)象的地址初始化引用是錯(cuò)誤的,我們可以定義一個(gè)指針引用。1 int ival = 1092;2 int &...
閱讀全文
首先說(shuō)明一下使用const的好處:
使用const的好處在于它允許指定一種語(yǔ)意上的約束------某種對(duì)象不能被修改--------編譯器具體來(lái)實(shí)
施這種約束。通過(guò)const,你可以通知編譯器和其他程序員某個(gè)值要保持不變。只要是這種情況,你就要
明確地使用const ,因?yàn)檫@樣做就可以借助編譯器的幫助確保這種約束不被破壞。
(一)
首先解釋一下const與指針的關(guān)系:
const在指針的聲明中有一下三種形式:
const char *p = "hello"; // 非const指針,
// const數(shù)據(jù),就是說(shuō)p指向的那個(gè)內(nèi)存空間的數(shù)據(jù)是不可
變的,但p還可以指向新的內(nèi)存地址。
char * const p = "hello"; // const指針,
// 非const數(shù)據(jù),就是說(shuō)這個(gè)指針p一旦賦值或初始化,就
不能在指向其他位置了,但其指向的位置的數(shù)據(jù)值是可變的。
const char * const p = "hello"; // const指針,
// const數(shù)據(jù),這個(gè)就很明顯了,集上述兩家之長(zhǎng)處(也
可能是短處哦,),上述兩者都不可變。
一般來(lái)說(shuō),你可以在頭腦里畫(huà)一條垂直線穿過(guò)指針聲明中的星號(hào)(*)位置,如果const出現(xiàn)在線的左邊,
指針指向的數(shù)據(jù)為常量;如果const出現(xiàn)在線的右邊,指針本身為常量;如果const在線的兩邊都出現(xiàn),二
者都是常量。
恩,差點(diǎn)忘了,還有一種形式:
char const * p = "hello";
這其實(shí)與上邊的情形一是一樣的,只是由于個(gè)人習(xí)慣的不同,二者都是對(duì)的。
(二)
在一個(gè)函數(shù)聲明中,const可以指的是函數(shù)的返回值,或某個(gè)參數(shù);對(duì)于成員函數(shù),還可以指的是整個(gè)函
數(shù)。
const(1) int fun(int const(2)& )const(3)
{
int temp;
retrun temp;
}
參數(shù)的 const屬性(上例2處)一般用引用傳遞,是為了保證該參數(shù)在函數(shù)中不允許被修改,一旦修改,
編譯器會(huì)報(bào)錯(cuò)。
而返回值的const屬性(上例1處)是保證函數(shù)的返回值不被修改,也許你會(huì)質(zhì)疑這種可能性,但是這種可
能性確實(shí)存在,
詳細(xì)情形如下:(摘自effective c++)
const rational operator*(const rational& lhs,
const rational& rhs);
很多程序員第一眼看到它會(huì)納悶:為什么operator*的返回結(jié)果是一個(gè)const對(duì)象?因?yàn)槿绻皇沁@樣,用
戶(hù)就可以做下面這樣的壞事:
rational a, b, c;
...
(a * b) = c; // 對(duì)a*b的結(jié)果賦值
我不知道為什么有些程序員會(huì)想到對(duì)兩個(gè)數(shù)的運(yùn)算結(jié)果直接賦值,但我卻知道:如果a,b和c是固定類(lèi)型
,這樣做顯然是不合法的。一個(gè)好的用戶(hù)自定義類(lèi)型的特征是,它會(huì)避免那種沒(méi)道理的與固定類(lèi)型不兼容
的行為。對(duì)我來(lái)說(shuō),對(duì)兩個(gè)數(shù)的運(yùn)算結(jié)果賦值是非常沒(méi)道理的。聲明operator*的返回值為const可以防止
這種情況,所以這樣做才是正確的。
呵呵,象Scott Meyers這樣的大師見(jiàn)地就是不一般吧
接下來(lái)說(shuō)明函數(shù)的const屬性:(上例3處)
當(dāng)然嘍,一般用于成員函數(shù)了,它有以下屬性:
(1)const成員函數(shù)不被允許修改它所在對(duì)象的任何一個(gè)數(shù)據(jù)成員。
(2)const成員函數(shù)能夠訪問(wèn)對(duì)象的const成員,而其他成員函數(shù)不可以。
(三)盡量使用 const代替define 吧,因?yàn)閏onst是類(lèi)型安全的。
應(yīng)該使用
const double pi = 3.1415926;
而不要用#define pi 3.1415926
后者是宏,僅僅是對(duì)程序中的pi用3.1415926代替,會(huì)讓你對(duì)于一些編譯時(shí)的錯(cuò)誤很難定位。
很久沒(méi)回這里來(lái)看看了,呵呵,今天才想起邊看書(shū)邊記個(gè)筆記,就想到以前經(jīng)常在這里寫(xiě)博客,很久沒(méi)來(lái)了,呵呵。
2009年10月13日
#
今天下午是物理課,覺(jué)得老師就是照本宣科,沒(méi)意思,所以就逃課在自習(xí)室自習(xí)了,中途出來(lái)上廁所,沒(méi)想到L老師來(lái)查寢(我不得不佩服Ta真的太厲害了),就把我抓住了,接下來(lái)就是一頓猛烈地批評(píng)。
其實(shí)想想,我真的很不是人,家里那么多多人受苦受累,千辛萬(wàn)苦,究竟是為了什么啊?不就是希望我在學(xué)校好好讀書(shū),將來(lái)有好的出路嗎?!可我呢?在這邊貪玩好耍,讓欲望沖昏了頭腦,你他媽對(duì)得起誰(shuí)?。。?br>我真的太不是人了!??!
我真的好像大哭一場(chǎng),在路上我哽咽了……我不知道這樣的日子何時(shí)是一個(gè)盡頭,我究竟要什么時(shí)候才能走上正軌????!!
我什么我就從來(lái)體會(huì)不到成功的喜悅和自信呢??。?br>為什么????
難道是我自卑?還是我墮落了???
2009年10月10日
#
2009年10月8日
#
頭文件有h,只是一個(gè)警告(在CB中)

警告如下

但是沒(méi)有h,就變成錯(cuò)誤了,因?yàn)楸仨氁猽sing namespace std:
昨天看富哥寫(xiě)的總結(jié),聽(tīng)了富哥說(shuō)的話,還有和老張的通話,讓我對(duì)自己以前的想法有了重新的認(rèn)識(shí),我才意識(shí)到以前的自己是那么的愚蠢,鼠目寸光,狹隘,保守,墮落,不思進(jìn)取,原來(lái)自己的眼光是如此的狹隘,原來(lái)自己是那么的笨和蠢……
所以,關(guān)于我以后的路,一定要好好重新規(guī)劃一下!
一、關(guān)于學(xué)習(xí)
1、考試科目全年級(jí)第一名,這沒(méi)得商量
2、數(shù)學(xué)建?!_(kāi)始放在與ACM一樣重要的位置
3、創(chuàng)新項(xiàng)目——一定要充分利用實(shí)驗(yàn)室的資源
4、ACM——把算法學(xué)精
5、自學(xué)——很多東西
二、關(guān)于社交
1、結(jié)交方方面面的人,和談的來(lái)的成為好朋友,多結(jié)交高級(jí)人才
2、訓(xùn)練自己的口才和思維
3、鍛煉自己的 心里 素質(zhì):自信果敢,拼搏進(jìn)取,幽默開(kāi)朗,積極樂(lè)觀,親和合群
4、做好宣傳委員
5、爭(zhēng)取做班長(zhǎng)
6、爭(zhēng)取進(jìn)院學(xué)生會(huì)做主席
7、積極參加各種比賽和活動(dòng)