Merge pull request #35 from iccz/master

添加缺失的内容
This commit is contained in:
Yang.Y
2016-02-24 14:55:06 +08:00

View File

@@ -37,6 +37,19 @@ Google 用了很多自己实现的技巧 / 工具使 C++ 代码更加健壮, 我
* 某些极端情况下所有权被共享的对象永远不会被销毁比如引用死循环cyclic references
* 智能指针并不能够完全代替原生指针。
决定:
如果必须使用动态分配,倾向于保持分配者的所有权。如果其他地方要使用这个对象,最好传递它的拷贝,或者传递一个不用改变所有权的指针或引用。倾向于使用 ``std::unique_ptr`` 来明确所有权传递,例如:
.. code-block:: c++
std::unique_ptr<Foo> FooFactory();
void FooConsumer(std::unique_ptr<Foo> ptr);
避免使用共享所有权。如果对性能要求很高,并且操作的对象是不可变的(比如说 ``std::shared_ptr<const Foo>`` ),这时可以用共享所有权来避免昂贵的拷贝操作。如果确实要使用共享所有权,倾向于使用 ``std::shared_ptr``
不要在新代码中使用 ``scoped_ptr `` 除非你必须兼容老版本的C++。总是用 ``std::unique_ptr`` 代替 ``std::auto_ptr``
4.2. cpplint
~~~~~~~~~~~~~~~~~~~~~~~~