Hum*_*awi 8 c++ static-cast c++11
我有这个案子:
using T = classA; //T could be classA and could be `classB` in other platforms.
T a;
auto x = static_cast<classB>(a);
Run Code Online (Sandbox Code Playgroud)
如果T classA是必须的铸件.在T的情况下,classB铸造是多余的.
按标准,是否会丢弃第二个铸件(不再有可执行代码),因为没有必要?
来自 C++11 标准:
5.2.9 静态投射
1 表达式的结果是将表达式转换为 type
static_cast<T>(v)的结果。vT
当 的类型v与 相同时,如果不是类,T则转换很简单。T一个好的编译器不应该为static_cast.
| 归档时间: |
|
| 查看次数: |
760 次 |
| 最近记录: |