问题标签 [static-cast]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 为什么使用 static_cast(x) 而不是 (int)x?
我听说static_cast
函数应该优先于 C 风格或简单的函数风格转换。这是真的?为什么?
c++ - Should I use static_cast or reinterpret_cast when casting a void* to whatever
Both static_cast
and reinterpret_cast
seem to work fine for casting void*
to another pointer type. Is there a good reason to favor one over the other?
c++ - 带有多个参数的 static_cast 是怎么回事?
谁能告诉我这个演员有什么效果(除了将happyNumber设置为1337),如果有的话,如果没有其他效果,我怎么能写这样的代码???这是编译器错误,还是 C++ 的某些“隐藏功能”?
我很惊讶这会编译。我是通过一个错误发现的,在该错误中,我不小心将第二个参数设置为要在被强制转换的表达式的函数调用中使用的东西。这导致了一个令人讨厌的错误,其中对象是从第二个参数强制转换的,只使用一个参数调用函数。它编译了......并且最初并没有繁荣......
我正在使用 Microsoft Visual C++ 2008。
c++ - 带有 boost::shared_ptr 的 static_cast?
static_cast
a with的等价物是boost::shared_ptr
什么?
换句话说,我该如何重写以下内容
什么时候用shared_ptr
?
c++ - C++语法问题
以下语法是什么意思?
c++ - What is the difference between static_cast and Implicit_cast?
What is implicit_cast? when should I prefer implicit_cast rather than static_cast?
c++ - 将结构转换为无符号字符 *
如何将以下内容转换struct
为unsigned char*
?
c++ - C ++,静态检测具有不同地址的基类?
如果我有一个具有多个基的派生类,则每个基的每个 this 指针都将不同于派生对象的 this 指针,除了一个。给定继承层次结构中的两种类型,我想在编译时检测它们是否共享相同的 this 指针。像这样的东西应该可以工作,但不能:
因为它需要是一个“整数常量表达式”,并且根据标准只允许整数转换(这很愚蠢,因为如果没有使用虚拟继承,它们只需要编译时间信息)。尝试将结果作为整数模板参数传递时也会出现同样的问题。
我能做的最好的事情是在启动时检查,但我需要在编译期间的信息(让一些深入的模板黑客工作)。
c++ - 在施工过程中向下投射是否安全?
我有一个类层次结构,我知道给定的类 (B) 将始终派生为第二个 (D)。this
在 B 的构造函数中,如果我确定在整个构造完成之前没有人会尝试使用它,那么将指针静态转换为 D* 是否安全?就我而言,我想将对对象的引用传递给另一个类 (A)。
这段代码安全吗?
c++ - 用于遍历继承层次结构的静态转换与动态转换
我看到一本关于 C++ 的书提到,使用静态转换导航继承层次结构比使用动态转换更有效。
例子:
但是,动态转换和静态转换(如上面实现的)都需要启用 RTTI 才能使此类导航正常工作。只是动态转换需要类层次结构是多态的(即基类至少有一个虚函数)。
静态演员的这种效率提升从何而来?这本书确实提到动态转换是进行类型安全向下转换的首选方式。