对象指针:1,对象指针通过操作其指向的内存完成具体的功能-对象指针指向nil时,称此对象为空对象-nil为对象指针的默认值-空对象无任何功能与作用2,获取对象指针指向的内存地址-通过alloc或便利构造器获取-通过方法获取*局部对象指针-作用域以大括号为界-{ id obj; }*全局对象指针-手动...
分类:
其他好文 时间:
2015-08-19 10:56:45
阅读次数:
120
函数声明:(1)函数在调用之前必须先声明,一个函数可以被声明多次,而只能被调用一次。(2)函数返回值,函数名,函数形参这三个组成函数原型,函数原型描述了函数接口。(3)在头文件中提供函数声明,而在定义函数的的源文件需要包含这个头文件。局部对象:(1)函数定义的形参和变量的名字只位于函数的作用域中,这...
分类:
其他好文 时间:
2015-08-10 21:37:10
阅读次数:
117
7.5局部对象在C++语言中,对于每一个变量和对象,都有其各自的作用域和生存期,这两个概念一个是空间的,一个是时间的。对象的作用域指的是该变量的程序文本区,对象的生存期则是程序执行过程中对象存在的时间。7.5.1自动对象只有当定义它的函数被调用的时候才存在的对象称为自动对象,自动对象在每次调用函数时...
分类:
编程语言 时间:
2015-06-22 17:44:22
阅读次数:
118
总结: 绝不要返回一个local栈对象的指针或引用;绝不要返回一个被分配的堆对象的引用;绝不要返回一个局部对象有可能同时需要多个这样的对象的指针或引用。条款4中给出了“在单线程环境中合理返回局部静态对象的引用”提出问题一旦程序员抓住对象传值的效率隐忧,很多人就会一心一意根除传值的罪恶。他们不屈不挠地...
分类:
其他好文 时间:
2015-06-15 18:00:48
阅读次数:
99
函数千万不要返回局部对象的引用或指针
局部变量在函数里面,当函数执行结束后将释放局部变量,如果返回引用或批针这个时候引用或指针指向所指向的内存空间已经释放。指针和引用将是垂悬指针。很危险!
但是如果返回的“局部变量”是堆中的内存值就可以返回了
C++函数为什么要使用引用?
C语言之中大量利用指针作为形参或者函数返回值,这是由于值拷贝会有很大的消耗(比如传入传出一个大...
分类:
编程语言 时间:
2015-05-25 16:45:41
阅读次数:
157
1.static 静态局部对象:一旦被创建,在程序结束前都不会被撤销。当定义静态局部对象的函数结束时,静态局部对象不会撤销。2.内联函数:避免函数调用的开销。在函数返回类型前加上关键字 inline 就可以将一些特定函数指定为内联函数。3.友元:friend 机制允许一个类将对其非公有成员的访问权授...
分类:
编程语言 时间:
2015-04-23 12:33:24
阅读次数:
129
概念使用局部对象管理资源的技术通常称为“资源获取就是初始化”Resource Acquisition Is Initialization 机制是Bjarne Stroustrup首先提出的。要解决的是这样一个问题:在C++中,如果在这个程序段结束时需要完成一些资源释放工作,那么正常情况下自然是没有什么问题,但是当一个异常抛出时,释放资源的语句就不会被执行。于是Bjarne Stroustrup就想到...
分类:
其他好文 时间:
2015-04-10 18:05:31
阅读次数:
173
局部对象也可以返回 因为C++中使用临时复制对象来传值的缘故.例如: 局部string Str 对象,return Str;时C++会用一个临时复制对象来保存Str的值,接着Str的生存期结束,然后临时对象的值被赋给调用处,最后临时复制对象的生存期结束,通过汇编代码会看到返回的时候会再构造一个对象,...
分类:
其他好文 时间:
2015-04-09 13:21:50
阅读次数:
109
C++ primer中的三个地方讲解了默认构造函数:
P44变量初始化规则
P227函数(构造函数)
P388类(构造函数初始化式)
一, 变量初始化规则(P44和P227)
1,对于类类型的成员,调用该成员所属类自身的默认构造函数实现初始化。
2,内置类型成员的初值依赖于对象定义的位置,如果对象在全局作用域中定义(既不在任何函数中)或定义为静态局部对象,则这些成员将被初始化为...
分类:
编程语言 时间:
2015-03-07 20:02:45
阅读次数:
150
一:异常处理
异常是程序执行期间预期发生的错误。它是程序正常功能之外程序无法解决的问题。通常问题的检测和问题的处理相互分开。在问题的检测端通过throw抛出异常对象(或在try语句中通过调用抛出异常的函数),问题处理端通过catch捕获抛出异常的对象。这里传递的对象可以是对象的副本或者引用和指针,但是指针不应该是指向局部对象的指针,否则抛出异常后,该对象就被释放了,就无法再使用该对...
分类:
编程语言 时间:
2015-01-21 15:09:28
阅读次数:
175