C++:使用auto还是typedef?

Bre*_*hns 19 c++ visual-studio-2010 c++11

我不想在这里问一个有意的主观问题,但我没有其他人直接问这个问题......

我正在尝试通过在我编写的新代码中采用更现代的C++概念,在我的团队中"以身作则".我的同事有点害羞的模板,并且抱怨不得不键入unique_ptr<Foobar>或者shared_ptr<Foobar>只是Foobar*在使用我最近创建的一些类时(工厂方法返回unique_ptrs并且我使用这些对象存储这些对象的列表shared_ptr).

他们扭曲了我的胳膊,并说服我将这些类型变成更容易打字的东西,例如FoobarUniquePtr.

但是现在我对这些typedef的const-correctness一团糟.我必须为每个const和非const类型定义额外的typedef,并且const const_FoobarUniquePtr似乎没有正确表达const语义.

所以,就我的问题而言,auto当他们抱怨不得不输入模板化的智能指针时,停止使用这些typedef是否有意义而不是推向我的队友?我也对其他选择持开放态度.

x10*_*x10 15

一般来说,汽车让您的生活更轻松.

如果您没有在任何深奥的架构上发货(并且没有计划很快就这样做),答案应该是"尽可能使用自动".


Dam*_*ian 8

我想你需要定义你可能需要的所有变化.

让你的家伙看看Bjarne Stoustrup的演讲并阅读C++ 11中的一些博客.至于模板,请购买书籍清单上的一些书籍,然后"coincedentially"将其中的一些书放在桌面上以开始讨论.

您甚至可以编写一些powerpoint演示文稿,并将其呈现给您的团队成员并建立研究文化.

Bjarne Stroustrup:C++ 11 Style

图书清单:https://stackoverflow.com/tags/c%2b%2b/info