五.实现条款26:尽可能延后变量定义式的出现时间 如果你定义了一个变量且该类型带一个构造函数或析构函数,当程序到达该变量时,你要承受构造成本,而离开作用域时,你要承受析构成本。为了减少这个成本,最好尽可能延后变量定义式的出现时间。举例说明:string encryptPassword(const ....
分类:
编程语言 时间:
2015-02-05 20:22:44
阅读次数:
217
类和结构体:
相同点:
1.都可以定义属性
2.都可以定义方法,这一点是Swift根C,OC的明显区别之一
3.他们都可以定义构造器(初始化方法)
4.都可以遵循协议
5.他们都可以被扩展
不同点:
1.类可以被继承,而结构体不可以
2.类可以被类型推断
3.类可以通过 析构(dealloc) 释放内存
4.类是 ...
分类:
编程语言 时间:
2015-02-05 11:22:03
阅读次数:
227
1.如果参数是指针,且仅作输入用,则应该在类型前加const,防止指针在函数体外被修改。2.如果输入参数以值传递的方式传递对象,则宜改用 const&方式来传递,这样可以省去临时对象的构造和析构过程。3.正常值用输出参数获得,错误标识用return语句返回。4.参数缺省值只能出现在函数的定义中,并且...
分类:
编程语言 时间:
2015-02-05 10:48:49
阅读次数:
165
来个例子就明了了:
#include
using namespace std;
class Base1
{
public:
virtual ~Base1(){
cout<<"Base1"<<endl;
}
};
class Base2
{
public:
virtual ~Base2(){
cout<<"Base2"<<endl;...
分类:
编程语言 时间:
2015-02-05 09:31:24
阅读次数:
127
构造函数可以被重载,因为构造函数可以有多个且可以带参数。
析构函数不可以被重载,因为析构函数只能有一个,且不能带参数。...
分类:
其他好文 时间:
2015-02-04 23:29:50
阅读次数:
478
本文你将学到:
1.认识什么是继承。
2.了解了继承的语法,特别需要三种继承方式的不同。
3.强调了构造函数,析构函数,拷贝构造函数和赋值运算符的调用顺序问题。
4.什么是名字隐藏。
5.多继承以及多继承中遇到的数据访问冲突问题和解决方法。...
分类:
编程语言 时间:
2015-02-04 18:49:09
阅读次数:
279
本文简单介绍单继承模式时构造函数和析构函数的调用顺序,及基类析构函数为虚函数时的多态情况实例代码,注释为运行结果: 1 #include 2 3 class Base 4 { 5 public: 6 Base(int a, int b): x(a), y(b) { std:...
分类:
其他好文 时间:
2015-02-04 12:35:32
阅读次数:
158
1. 当声明一个类时,编译器会自动为该类生成默认构造函数,复制构造函数,赋值操作符以及析构函数;2.自动生成的各个函数和操作符都是public的;3.当声明一个类不允许复制时,可以将一个类的复制构造函数和赋值操作符声明为private,但是实际中,一般写一个noncopyable类,让不允许使用复制...
分类:
其他好文 时间:
2015-02-03 12:47:33
阅读次数:
157
多态:http://blog.csdn.net/tmljs1988/article/details/8146521C++中两个类相互包含引用问题:http://blog.csdn.net/leo115/article/details/7395077 http://blog.csdn.net/tmlj...
分类:
编程语言 时间:
2015-02-02 13:59:04
阅读次数:
160
为防止资源泄漏,请使用RAII(Resource Acquisiton Is Initialization) 对象,它们在构造函数中获得资源并在析构函数中释放资源。两个常被使用的RAII classes 分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比...
分类:
编程语言 时间:
2015-01-30 22:23:54
阅读次数:
171