2011年12月7日
#
早上收到短信,叫我给家里打个电话,心里当时很不爽,自己打不行吗?老是要找别人。心里想又是钱不够了吧。
刚刚打了电话回去,听见说自己不行了,心里又有些火帽,对他也是冷嘲热讽的,后来静下心来想,他老了,只是想多活两年,哥哥不在了,责任就落到了自己的肩上,这是我的责任,我要勇于承担,敢于面对,毕竟他再有一万个不对,他也老了,他只是想多活几年。
摘要: http://chio.cnblogs.com/(1) 在实际的程序中,引用主要被用做函数的形式参数--通常将类对象传递给一个函数.引用必须初始化. 但是用对象的地址初始化引用是错误的,我们可以定义一个指针引用。1 int ival = 1092;2 int &...
阅读全文
首先说明一下使用const的好处:
使用const的好处在于它允许指定一种语意上的约束------某种对象不能被修改--------编译器具体来实
施这种约束。通过const,你可以通知编译器和其他程序员某个值要保持不变。只要是这种情况,你就要
明确地使用const ,因为这样做就可以借助编译器的帮助确保这种约束不被破坏。
(一)
首先解释一下const与指针的关系:
const在指针的声明中有一下三种形式:
const char *p = "hello"; // 非const指针,
// const数据,就是说p指向的那个内存空间的数据是不可
变的,但p还可以指向新的内存地址。
char * const p = "hello"; // const指针,
// 非const数据,就是说这个指针p一旦赋值或初始化,就
不能在指向其他位置了,但其指向的位置的数据值是可变的。
const char * const p = "hello"; // const指针,
// const数据,这个就很明显了,集上述两家之长处(也
可能是短处哦,),上述两者都不可变。
一般来说,你可以在头脑里画一条垂直线穿过指针声明中的星号(*)位置,如果const出现在线的左边,
指针指向的数据为常量;如果const出现在线的右边,指针本身为常量;如果const在线的两边都出现,二
者都是常量。
恩,差点忘了,还有一种形式:
char const * p = "hello";
这其实与上边的情形一是一样的,只是由于个人习惯的不同,二者都是对的。
(二)
在一个函数声明中,const可以指的是函数的返回值,或某个参数;对于成员函数,还可以指的是整个函
数。
const(1) int fun(int const(2)& )const(3)
{
int temp;
retrun temp;
}
参数的 const属性(上例2处)一般用引用传递,是为了保证该参数在函数中不允许被修改,一旦修改,
编译器会报错。
而返回值的const属性(上例1处)是保证函数的返回值不被修改,也许你会质疑这种可能性,但是这种可
能性确实存在,
详细情形如下:(摘自effective c++)
const rational operator*(const rational& lhs,
const rational& rhs);
很多程序员第一眼看到它会纳闷:为什么operator*的返回结果是一个const对象?因为如果不是这样,用
户就可以做下面这样的坏事:
rational a, b, c;
...
(a * b) = c; // 对a*b的结果赋值
我不知道为什么有些程序员会想到对两个数的运算结果直接赋值,但我却知道:如果a,b和c是固定类型
,这样做显然是不合法的。一个好的用户自定义类型的特征是,它会避免那种没道理的与固定类型不兼容
的行为。对我来说,对两个数的运算结果赋值是非常没道理的。声明operator*的返回值为const可以防止
这种情况,所以这样做才是正确的。
呵呵,象Scott Meyers这样的大师见地就是不一般吧
接下来说明函数的const属性:(上例3处)
当然喽,一般用于成员函数了,它有以下属性:
(1)const成员函数不被允许修改它所在对象的任何一个数据成员。
(2)const成员函数能够访问对象的const成员,而其他成员函数不可以。
(三)尽量使用 const代替define 吧,因为const是类型安全的。
应该使用
const double pi = 3.1415926;
而不要用#define pi 3.1415926
后者是宏,仅仅是对程序中的pi用3.1415926代替,会让你对于一些编译时的错误很难定位。
很久没回这里来看看了,呵呵,今天才想起边看书边记个笔记,就想到以前经常在这里写博客,很久没来了,呵呵。
2009年10月13日
#
今天下午是物理课,觉得老师就是照本宣科,没意思,所以就逃课在自习室自习了,中途出来上厕所,没想到L老师来查寝(我不得不佩服Ta真的太厉害了),就把我抓住了,接下来就是一顿猛烈地批评。
其实想想,我真的很不是人,家里那么多多人受苦受累,千辛万苦,究竟是为了什么啊?不就是希望我在学校好好读书,将来有好的出路吗?!可我呢?在这边贪玩好耍,让欲望冲昏了头脑,你他妈对得起谁啊!!
我真的太不是人了!!!
我真的好像大哭一场,在路上我哽咽了……我不知道这样的日子何时是一个尽头,我究竟要什么时候才能走上正轨啊??!!
我什么我就从来体会不到成功的喜悦和自信呢?!!
为什么????
难道是我自卑?还是我堕落了???
2009年10月10日
#
2009年10月8日
#
头文件有h,只是一个警告(在CB中)
警告如下
但是没有h,就变成错误了,因为必须要using namespace std:
昨天看富哥写的总结,听了富哥说的话,还有和老张的通话,让我对自己以前的想法有了重新的认识,我才意识到以前的自己是那么的愚蠢,鼠目寸光,狭隘,保守,堕落,不思进取,原来自己的眼光是如此的狭隘,原来自己是那么的笨和蠢……
所以,关于我以后的路,一定要好好重新规划一下!
一、关于学习
1、考试科目全年级第一名,这没得商量
2、数学建模——开始放在与ACM一样重要的位置
3、创新项目——一定要充分利用实验室的资源
4、ACM——把算法学精
5、自学——很多东西
二、关于社交
1、结交方方面面的人,和谈的来的成为好朋友,多结交高级人才
2、训练自己的口才和思维
3、锻炼自己的 心里 素质:自信果敢,拼搏进取,幽默开朗,积极乐观,亲和合群
4、做好宣传委员
5、争取做班长
6、争取进院学生会做主席
7、积极参加各种比赛和活动