资源管理、设计与声明

2018-03-22  本文已影响0人  szn好色仙人
条款13 以对象管理资源
void Fun()
{
    int* pBuff = new int(10);
    ... //干点别的事情
    delete pBuff;
}
条款14 在资源类中小心coping行为
条款15 在资源类中提供对原始资源的直接访问
unique_ptr<string> pStr(new string("szn"));
const auto nSizeC = pStr->size();    //nSizeC = 3
条款16:成对使用new和delete时要采取相同的形式。
typedef int Int10[10];
int* pTem = new Int10;
delete[]  pTem;  
条款17 以独立的语句将new出来的对象放入智能指针中
shared_ptr<int> pInt(new int);
Fun0(pInt, Fun1());
条款18 让接口容易被正确使用,不易被误用
条款20 pass by reference to const 替换 pass by value
条款21 必须返回对象时,别妄想返回引用
条款22 将成员变量声明为private
条款23 以非成员函数、非友元函数替换成员函数
条款24 若所有参数都可能需要类型转换,那么最好将其声明为类的非成员函数
条款25 考虑为类写出一个不抛出异常的swap函数
上一篇 下一篇

猜你喜欢

热点阅读