0%

cpp big three functions

1
2
3
4
5
6
7
8
9
10
class String {
public:
// ctor
String(const char *cstr = 0);
// copy ctor
String(const String &str);
// copy op=
String &operator=(const String &str);
~String();
};

Big Three

  1. 编译器默认的copy ctorcopy op=都是bit by bit拷贝,类中含有指针时会有内存泄露
  2. 为什么copy op=返回引用
  3. 注意函数参数和返回值

Rvalue references and Move Semantics