typeid在生产代码中使用通常被认为是不好的做法吗?此外,我注意到typeid返回type_info,其中包括一些元数据(例如带有类型名称的字符串); 有没有办法停用这个?
Bil*_*eal 11
dynamic_cast.很难说特定语言功能的使用是"坏"还是"好".这真的取决于你如何使用它.typeid如果它是适合工作的正确工具,那么使用它本身并没有什么问题,但是如果对于你正在解决的任何问题有更好的解决方案,那么你应该避免使用typeid更好的解决方案.
使用它通常不是一个好主意,typeid因为通常可以通过使用继承和虚函数来避免使用它.如果您可以通过这种方式更新系统,那么这样做可能是个好主意.
至于你是否typeid可以避免返回a std::type_info,这不应该导致任何性能问题. typeid求值为a const std::type_info&,因此它不会深层复制它包含的任何字符串信息.大多数实现都将实际std::type_info对象存储在对象的虚函数表中,因此不会在内部进行复制.
| 归档时间: |
|
| 查看次数: |
2458 次 |
| 最近记录: |