C++的构造函数和拷贝构造函数
2004-08-15 22:40
441 查看
★ 编译器自动生成的构造仅仅做让编译能通过的事情,它不会初始化成员变量。
★ 编译器并不会自动生成缺省的构造函数和拷贝构造函数,仅仅在它需要的时候。
没错!对于下面的类:
class Test {
int n;
};
编译器不会自动生成构造函数,因为没有字段需要初始化。
★ 很多时候都需要深拷贝,这时需要自己定义copy constructor和重载operator=。
★ 如果只需要浅拷贝,就不用定义copy constructor并逐一赋值,因为编译器自动生成的memcpy和memset更有效率。
★ 返回一个局部对象会导致两次拷贝构造:
T f() {
T t;
return t;
}
★ 全局和静态对象会在使用前自动初始化,所有字段置0。
★ 编译器并不会自动生成缺省的构造函数和拷贝构造函数,仅仅在它需要的时候。
没错!对于下面的类:
class Test {
int n;
};
编译器不会自动生成构造函数,因为没有字段需要初始化。
★ 很多时候都需要深拷贝,这时需要自己定义copy constructor和重载operator=。
★ 如果只需要浅拷贝,就不用定义copy constructor并逐一赋值,因为编译器自动生成的memcpy和memset更有效率。
★ 返回一个局部对象会导致两次拷贝构造:
T f() {
T t;
return t;
}
★ 全局和静态对象会在使用前自动初始化,所有字段置0。
相关文章推荐
- C++构造函数、拷贝构造函数、赋值运算符漫谈(二)——函数返回值
- c++ 实现双向链表构造函数,拷贝构造函数,析构函数,输出操作符重载,赋值操作符重载,头插尾插,头删尾删,任意位置插入,任意位置删除,查找等
- C++ 构造函数 析构函数 拷贝构造函数 运算符重载解析。
- C++中的构造函数,拷贝构造函数和赋值运算
- 关注C++细节——含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、赋值运算符的例子
- C++ 拷贝构造函数 赋值构造函数
- 浅析C++的构造函数,拷贝构造函数和赋值运算符
- c++的构造函数和析构方面(拷贝构造函数)
- C++学习笔记(构造函数和拷贝构造函数)
- C++ 学习总结(十)——C++类与对象,及构造函数,析构函数,拷贝构造函数
- C++ 拷贝构造函数 赋值构造函数
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- C++的静态成员函数,成员变量,构造函数,析构函数,拷贝构造函数
- C++基础(一)构造函数、析构函数、拷贝构造函数
- 从零开始学C++之构造函数与析构函数(二):初始化列表(const和引用成员)、拷贝构造函数
- C++语言之结构体、类、构造函数、拷贝构造函数
- C++ 构造函数,析构函数,拷贝构造函数
- C++构造函数、拷贝构造函数、赋值运算符漫谈(二)——函数返回值
- C++的6大成员函数,构造函数(初始化列表),析构函数,拷贝构造函数,运算符重载,const成员函数
- c++的构造函数极其调用(无参构造函数,有参构造函数,拷贝构造函数)