尽可能多地使用auto
是否是一个好主意,因此更改代码中的数据类型更灵活?就像如果你使用一堆基于范围的for循环一样,总是使用auto会很有效率,所以你永远不必回去改变for循环的数据类型?用于灵活性的C++自动关键字
0
A
回答
1
总之,是的。详情请参阅AAA。但是请注意某些情况下是这样的:
int x = 4;
int& ref = x;
auto y = ref;
y
现在int
不int&
const int x = 5;
auto y = x;
y
是int
不const int
;
+0
您能否提供这些案例如何产生不良结果的例子? –
+0
我只是想强调一下,你可能会认为auto会和&或const得到正确的类型。不是这样。因此,第一个示例将创建一个深层副本,而不仅仅是复制引用。 –
+0
@HumamHelfawi嗯,这正是我期望的行为,看起来好像你可以写'auto&'。 – CoffeeandCode
相关问题
- 1. C#中的动态灵活性
- 2. 心灵关于C#
- 3. 数字数据类型自动失去灵活性
- 4. 关于编写“灵活”API的想法?
- 5. C#4动态关键字 - 如何设置自定义属性
- 6. 灵活属性的用例
- 7. C#'ref'关键字,性能
- 8. Yii的灵活性
- 9. C#灵活/动态使用发布
- 10. 自动启动AppEngine灵活服务器
- 11. extern关键字不同于c到C++?
- 12. C++多态性和新的关键字
- 13. 灵活的对象关系
- 14. C# - 禁用动态关键字
- 15. CAL:索引,周期性活动不灵
- 16. 用于灵活键/值对的正则表达式
- 17. CSS组件的灵活性
- 18. BindingList和列的灵活性
- 19. MXML与ActionScript的灵活性
- 20. 关于“新”的关键字
- 21. 关于`self`的关键字
- 22. Xcode 6自动布局灵活宽度
- 23. 如何在vim中自动完成c或C++关键字
- 24. c#关键字
- 25. 关于c#关键字中未提及的上下文关键字
- 26. 关于“使用”关键字的问题
- 27. 新的'动态'C#4.0关键字是否弃用'var'关键字?
- 28. C++中是否有“属性”关键字?
- 29. Emacs CEDET语义没有`this`关键字的自动完成。 (C++)
- 30. 灵活的JavaScript函数(适用于MongoDB)
肯定是的:https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/ – CinCout
香草说是的,我同意大多数情况下(包括基于范围for或lambda)。不过,我并不完全相信“总是”的部分。特别是如果类型不明显,使其明确可使代码更易于阅读,并且不要忘记冗余也可以捕获错误。 – MikeMB