我一直在使用C++11标准中提供的新关键字auto
来处理复杂的模板类型,我认为这就是它的设计初衷。但我也在将其用于以下情况:
auto foo = std::make_shared<Foo>();
更加怀疑的是:
auto foo = bla(); // where bla() return a shared_ptr<Foo>
我还没有看到关于这个话题的太多讨论。似乎auto
可能被过度使用,因为类型通常是文档和健全性检查的一种形式。在使用auto
时,你会在哪里划线,以及对于这个新特性的推荐用例是什么?
澄清一下:我不是在寻求哲学上的观点;我正在询问标准委员会对这个关键字的预期用途,可能还有关于如何在实践中实现这个预期用途的评论。
auto
关键字,则应该知道它的正确使用方式。作为一个新手,我想知道应该如何使用它? - Alan Turingvar
关键字后,我在很多地方看到过有关此话题的讨论(也就是当人们克服了它并非动态类型的想法后)。如果你愿意,可以从这个问题开始,并查看相关问题。 - R. Martinho Fernandesauto
的良好和不良使用的清晰代码片段。并非所有问题都是问2+2等简单问题。例如,询问如何计算2+2仍然是一个好问题,但你可以轻易地称之为“主观”。也许我太天真了,但对我来说,如果一个问题导致了一个有用的澄清回答,那么问题和答案都应该在网站上。 - Alan Turingauto foo = bla();
为“不好”显然是一种观点,而不是事实,这使得这个问题和答案成为了一个讨论,这也使得它与Programmers SE相关,这正是关闭投票所表明的。/耸肩 - ildjarn