2017 09 15

对程序的结构的相关学习:

一  指向对象的指针数组

数组的元素是指针型

Point  *pa[2];

由pa[0],pa[1]两个指针组成,都指向Point类型的对象。

指针常量和常量指针(指向常量的指针)

指针常量:

在指针定义语句的指针名前加const, 表示指针本身是常量。

int a; int* const p=&a;  定义时必须初始化

指针值p不可以修改,指针指向的内容可以修改。

即p是常量,不可以作为左值进行运算,*p可以修改

左值:是对应内存数据的一个表达式,左值对应的内存空间的内容允许刷新。可以出现在赋值运算符的左侧。

右值:右值指的是引用了一个存储在某个内存地址里的数据。出现在赋值运算符的右侧。

要求左值运算:++,--,+=等

常对象和常成员函数

常对象:数据成员值在对象的整个生存期间内不能被改变。

即常对象定义是必须进行初始化,而且不能被更改。

引用(reference)的概念

为一个变量、函数等对象规定一个别名,该别名称为引用。此后,对别名的操作即是对别名所代表的对象的操作。

引用必须初始化。引用一旦被声明则不能再修改.

为提高可读性,引用与变量、指针定义尽量不在同一行。 尽量避免这样的语句int a,&ra=a,*p=&a;

void &a=3;//error

void 本质不是一个类型,只是在语法上相当于一个类型,没有该类型的对象。

形参和实参结合规则:

形参为引用时,凡遇到形参(引用)的地方,全部用实参(对象)来代替。

参数结合符合初始化标准

传递引用给函数与传递指针的效果相同。

可读性比指针传递好(与传值方式的调用可读性相同,性能却强于传值方式)

可使用引用传递从函数返回多个值(指针和引用都可以)

四 引用和指针的关系

指针是个变量,可再赋值;  而引用建立时必须进行初始化并且决不会再关联其它不同的变量。

指针操纵两个实体(指针值、指向的值);引用只能操纵一个实体。

引用在内部用指针实现 ,被看成是指针常量,不能操作自身的地址值,只能访问所指向的实体。

在语言层面,引用的用法和对象一样;在二进制层面,引用一般都是通过指针来实现的,只不过编译器帮我们完成了转换.

实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”?

答案是“用适当的工具做恰如其分的工作”。

指针能够毫无约束地操作内存中的东西,尽管指针功能强大,但是非常危险。  引用是指针出于安全考虑的替代品。

在以下情况下你应该使用指针:

一是你考虑到存在不指向任何对象的可能(在这种情况下,你能够设置指针为空)        二是你需要能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向)。

如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么你应该使用引用。


用const 限定引用

用const 限定引用声明方式:

int  i;  const int& p=i;

用这种方式声明的引用,不能通过引用对目标变量的值进行修改,保证了引用的安全性。

作为参数可以保证在函数执行时不被修改

int f(const int& cs){……}

int main(){

int s;

f(s);

//…….

}

int i;

const int * p=&i;

const int& p=i;

效率相同

引用的使用-函数调用作为左值

int a=0,b=0,c=0;

int & count(int k)

{

if(k>60) return(a);

if(k<=60&&k>30) return(b);

if(k<=30) return(c);

}

int main()

{int i,j;

for(i=0;i<15;i++)

{

cin>>j;

count(j)++;

}

cout<

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,548评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,497评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,990评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,618评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,618评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,246评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,819评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,725评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,268评论 1 320
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,356评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,488评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,181评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,862评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,331评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,445评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,897评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,500评论 2 359

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,523评论 1 51
  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 7,665评论 0 10
  • 1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧...
    金巴多阅读 1,784评论 0 9
  • 我近期的目标是提高儿子的学习热情和书写的认真,提升学习成绩,为小升初打下坚实的基础,顺利升入理想的初中。 一、继续...
    归韵阅读 150评论 2 2
  • 以麦积德(麦克风) 言必行,行必果。契约是帮助彼此成长最快的通道 ,是非分明彼此成长。 明心处事,践行契约!有得此...
    能量在此阅读 311评论 0 1