设为首页 加入收藏

TOP

指针与引用conststatic
2014-11-14 16:46:56 】 浏览:1580
Tags:指针 引用 conststatic

  今天在网上看了一下关于指针和引用的讨论,自己有了一点理解,记录如下。


  引用时C++中引入的,它的本质是指针,是一种特殊的指针。


  1)必须初始化,且不存在NULL的引用。


  2)作为参数传递的时候,不需形参。 指针的指针效果就和指针的引用一样,可以修改指针本身(即指针代表的内存地址)。


  传值:实参的作用除了给形参初始化外,没有其他任何作用。


  但传应用的时候,没有形参,参与的是对象本身。


  我认为所谓的传址其实质还是传真,只是指变成了地址,同样还有形参的参与。所以形参本身(而不是形参指向的东西)修改了,那么实参是不能同步的。打比方说,指针是一个快捷方式,那么修改快捷方式所指向的对象,那么所以指向该对象的快捷方式都能同步。但如果修改其中一个快捷方式,将它指向另外一个对象,那么其他的快捷方式和这个快捷方式之间就没有联系了。


  3)引用不可以改变其引用的对象。这和const修饰一样。


  4)作为返回值的时候,引用不会触发类的拷贝构造函数。


  一般传值的时候,都是先生成一个临时变量,然后调用类的拷贝构造函数。


  顺便说一下如何初始化类中的const成员变量。


  我们都知道const变量需要初始化,但是类中的const成员变量如何初始化呢?


  在构造函数中? 这肯定不行啊,那是赋值而不是初始化。 答案是在构造函数的初始化列表中,进行初始化,它在执行类的构造函数之前执行。这样每个类的对象都可以初始化为不同的值。


  static的变量 它在.h中进行声明,需要在.cpp中进行初始化。全局位置处,前面加上类的作用域,因为它不属于某个对象,而是所有对象共享,属于整个类。static const也如此初始化。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇CFileDialog设置多选时的一个问题 下一篇c++编写的算24程序

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目