我是C++新手。初学者。当我学习C++提供的转换特性时,我想知道为什么Casting特别特别是静态转换。当我们知道需要什么类型的变量时,为什么要施放?为什么投射功能?
Q
为什么投射功能?
2
A
回答
1
如果我正确理解你的问题,你在问为什么有一个static_cast
运算符在C++。类型转换有助于在类层次结构中移动指针。并且使用static_cast
,您可以在类层次关系中下注一个指针。虽然这样的转换并不安全,但在处理它时应该小心。
1
然后你想要,例如,将一种类型转换为另一种类型。说浮动到int。或不同类别的对象(通常是基本vs继承)。有很多不同的例子。你将学会使用它,主要是通过解决一些例子和其他获得东西的经验。
+0
谢谢大卫。我认为你需要做大量的编码来理解实际使用 – Lakshmi 2011-02-18 07:02:03
1
有关static_cast功能的说明,请参阅When should static_cast, dynamic_cast and reinterpret_cast be used?。
1
static_cast旨在反转任何隐式转换。如果您隐式转换为void *,那么如果您知道您确实只是反转较早的转换,则可以使用static_cast进行转换。
相关问题
- 1. 为什么不能投射?
- 2. 为什么不能投射?
- 3. 为什么null投射?
- 4. 为什么在WndProc中投射错误?
- 5. 为什么我不能在if语句内部投射对象?
- 6. 长投射到整型内部功能
- 7. Scala 2.10有什么反射功能?
- 8. 为什么在.NET中投射速度比反射速度快?
- 9. 在Teradata中投射功能将字符转换为数字
- 10. 为什么要功能PHP?
- 11. 为什么功能Color.FromValues
- 12. 为什么我不能将此字符串作为int来投射?
- 13. 什么功能
- 14. 为什么我不能将IEnumerable <T>列表投射到BindingList <t>?
- 15. 为什么C功能这么久?
- 16. 这个功能为什么这么慢?
- 17. 为什么在调用IEnumerable.Contains()时需要投射动态对象?
- 18. 为什么Html.DropDownListFor需要额外的投射?
- 19. 为什么我需要在此Java示例中投射HttpURLConnection?
- 20. 为什么我快速动态投射失败?
- 21. 为什么我会收到此投射错误?
- 22. 为什么投射会在java中产生正确的结果?
- 23. Linq - 将IQueryable投射到IList返回null - 为什么?
- 24. 为什么在通过int投射后获得EXC_BAD_ACCESS?
- 25. 为什么我的投射物不在屏幕上绘制?
- 26. C#按位操作短裤 - 为什么投射到一个int?
- 27. 为什么PHP中的投射和比较比is_ *更快?
- 28. 使用'as'投射 - 为什么这不起作用?
- 29. 为什么我必须显式投射到受限类型?
- 30. 为什么要投射可变参数函数参数?
Mahesh,考虑到这些类,在这里试着再次理解,static_cast只在基本数据类型以外的指针上完成? – Lakshmi 2011-02-18 06:57:18