effective STL
比卡丘不皮
一个热爱学习与热爱分享的有志青年
展开
-
Effective STL 26~30(实现)
条款26:尽可能延后变量定义式的出现时间 尽可能延后变量定义式的出现时间,说白了使用的时候在定义。 class a { prubilc: void getValue(){ string str; ....... str = name; } } 应该写在对应地方: class a { p...原创 2020-02-25 21:56:22 · 219 阅读 · 0 评论 -
Effective STL 21~25 (传值 class成员变量 non-menber函数)
条款21:必须要返回对象时,别妄想返回其reference 尽量不要在返回pointer 或 reference 指向一个local stack对象。 以后写法尽量按上述的去写。不然对其消耗太大。 条款22:将成员变量声明为private 切记将成员变量声明为private。这可以赋予客户访问数据的一致性,可细微分划分访问控制、提供了class作者以充分的实现弹性。 protected...原创 2020-02-24 23:31:03 · 219 阅读 · 0 评论 -
Effective STL 16~20(new )
条款16:成对使用new delete 时要采取相同方式 如果你在new 中使用 [] ,必须在相应的delete加上[],如果没有请不要添加 下面是个错误的写法: string *str = new string[100]; .... delete str; 应该写成 string *str = new string[100]; .... delete [] str;...原创 2020-02-23 15:55:32 · 146 阅读 · 0 评论 -
Effective STL 13~15(资源管理)
条款13:以对象管理资源 为了防止资源泄漏,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放 这里的RAII 对象是有关c++智能指针, unique_ptr shared_ptr weak_ptr 。尽量使用他们。 对应的用法请查看你的c++书籍。防止程序中 没有delete 对象造成的类存泄漏。 条款14:以资源管理类中小心 Coping 行为 复制RAII ...原创 2020-02-22 16:20:58 · 118 阅读 · 0 评论 -
Effective STL 09~12(构造函数,析构函数,operator)
条款9:绝不在构造和析构函数过程中调用virtual函数 在构造和析构期间不要调用virtual函数,此类调用从来不下降至比起当前执行的那一成 一个简单的例子: class base { public: base(); ~base(); virtual void getone() const = 0; }; class a : public base { ...原创 2020-02-21 22:44:05 · 122 阅读 · 0 评论 -
Effective STL 04 ~ 08
条款4:确定对象使用前已经被初始化 为内置型对象要手工初始化,因为c++不保证初始化它 构造函数最好使用成员初始值,而不要在构造函数本体内赋值操作。且要保持class 内成员的顺序 “跨编译单元初始化次序”问题,请以local static 来替换 non-local static int a; cout << a << endl; 这样得到的数据是内存的数,我们...原创 2020-02-19 22:00:14 · 132 阅读 · 0 评论 -
Effective STL 01 ~ 03
本博客记录Effective STL 的55个条约,方便大家记录与查找。 条约01: 视c++为联邦性语言 可以把c++ 看成4个次语言: c语言. c++毕竟是c语言的基础。包含了c语言的特性,比如数组,指针,等等。 Object-Oriented c++.这部分就是c with Class,classes(构造函数与析构函数),封装,多态,继承,virtual函数 Te...原创 2020-02-18 21:33:44 · 156 阅读 · 0 评论