腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
8
回答
常规
造型vs.
static_cast
vs.
dynamic_cast
c++
、
pointers
、
casting
显然,我使用了
常规
的强制转换,即到处都是,但似乎还有两种其他类型的
演员
,我不知道有什么不同。下面这几行代码有什么不同?MyClass *m = (MyClass *)ptr;MyClass *m =
dynamic_cast
<MyClass
浏览 4
提问于2008-08-26
得票数 1920
回答已采纳
5
回答
C++中的
dynamic_cast
开销
c++
、
casting
我知道
dynamic_cast
有运行时检查,因此被认为更安全(失败时可以返回空指针),但比
static_cast
慢。但是两者之间的开销有多大呢?我真的应该考虑在
常规
的大型项目中使用循环中的
static_cast
来解决性能问题吗?或者差异很小,并且仅
与
特殊的实时程序相关。
浏览 0
提问于2011-09-08
得票数 13
回答已采纳
3
回答
在生产代码中删除dynamic_casts安全吗?
c++
、
performance
、
casting
、
dynamic-cast
dynamic_cast
的速度较慢,但它们比
static_cast
的安全(当然,当
与
对象层次结构一起使用时)。我的问题是,在我在调试代码中确保所有(动态)转换都是正确的之后,我是否有理由不将它们更改为
static_cast
? T assert_cast(U other) {
浏览 1
提问于2011-09-09
得票数 9
回答已采纳
2
回答
为什么这是一个错误:
static_cast
<unsigned*>(&i)
c++
、
casting
根据经验法则,优先选择
static_cast
或
dynamic_cast
,我编写了以下程序:{ unsigned *j =
static_cast
它甚至不能编译:test5.cpp: In function ‘int main()’: test5.cpp:4:44: error: invalid
static_cast
from type ‘int*’ to type ‘unsigned int*’
浏览 5
提问于2016-05-12
得票数 2
1
回答
reinterpret_cast
与
c型铸造
c++
A* pA = new B; B* p2 = reinterpret_cast<B*>(pA);
浏览 3
提问于2012-12-19
得票数 1
回答已采纳
4
回答
C++实现
static_cast
的正确方法
c++
、
exception
、
casting
、
static-cast
static_cast
不会抛出异常。但如果它不成功,它将产生一个不确定的结果。检查强制转换是否成功最合适的方法是什么? new_typ_obj.do();
浏览 1
提问于2013-04-22
得票数 6
回答已采纳
1
回答
在将OpenCV Mat图像转换为QImage时,警告使用旧的转换方式?
c++
、
image
、
qt
、
opencv
、
qimage
当我在QT中使用OpenCV时,我看到了这个警告,我不知道它的新的转换风格是什么。有人知道我可以申请吗? normalImage = imread("E:\\tree.jpg", IMREAD_COLOR ); QImage imdisplay((uchar*)normalImage.data, normalImage.cols, normalImage.rows, normalImage.step,
浏览 0
提问于2019-07-13
得票数 0
回答已采纳
4
回答
static_cast
和RTTI
与
dynamic_cast
c++
、
dynamic-cast
、
static-cast
据我所知,
dynamic_cast
比
static_cast
慢。因为它在运行时计算类型。我在这里怀疑的是,如果我们像下面这样使用带有typeid()的
static_cast
,它会花费
与
动态转换相同的时间吗??它会比
dynamic_cast
更快吗?<Circle*>(s); sp =
static_cast
<Square*>(s);Circle c; Shape* s = &a
浏览 1
提问于2012-09-26
得票数 2
回答已采纳
2
回答
QObject*和void*之间的转换
c++
、
qt
、
pointers
、
casting
指针没有被函数修改:{ MyObj *oldPtr = qobject_cast<MyObj*>(
static_cast
浏览 2
提问于2016-09-20
得票数 3
回答已采纳
3
回答
常数和重新解释转换是否发生在编译时?
c++
、
casting
、
c++03
我已经读到,
static_cast
发生在编译时,
dynamic_cast
发生在运行时,因此比
static_cast
慢。
dynamic_cast
可以返回空ptr (
与
指针一起使用时),也可以抛出错误的强制转换异常。我的问题是,reinterpret_cast和const_cast是在编译时还是在运行时发生的?我认为解释强制转换发生在运行时,因为它的行为类似于
dynamic_cast
,指示转换是否成功。我说得对吗?那么const_cast是编译时吗?
浏览 4
提问于2014-12-05
得票数 9
回答已采纳
3
回答
C++多态性和类型转换
c++
、
oop
、
polymorphism
我对C++比较陌生,我一直在使用OpenGL.I开发一个基本的3D渲染引擎。我有以下问题:我有一个名为GeomEntity的类,它是所有几何图元的基类。我还有一个名为DefaultMaterial的类,它是所有材质(由不同类型的着色器程序组成)的基类。.Because我将有许多类型的材质,如:ColorMaterial、TextureMaterial、AnimatedMaterial等等。我需要在GeomEntity类中引用材质,以便从主应用程序中可以使用此函数设置任何材质: void GeomEntity ::addMaterial (const DefaultMaterial *mat
浏览 0
提问于2011-09-21
得票数 0
回答已采纳
2
回答
qobject_cast<QVBoxLayout*>(layout()),是合适的强制转换吗?
c++
、
qt
、
c++11
、
qt4
、
qt5
考虑到布局是在具有以下代码的QWidget中设置的:然后需要检索它(为布局添加更多内容)。这是用以下代码完成的:qobject_cast<QVBoxLayout*>(layout())->addLayout(hLayoutTime);
浏览 3
提问于2016-04-08
得票数 1
回答已采纳
1
回答
既可以是上播也可以是下播,都可以使用
dynamic_cast
在C++中完成。
c++
、
visual-c++
、
inheritance
、
virtual
、
dynamic-cast
我的问题是: 是否有任何
演员
不推荐或有害?
浏览 0
提问于2015-02-12
得票数 2
回答已采纳
2
回答
C++将指针转换为用于虚拟方法调用的基类指针
c++
int main() B * bp = new B(); return 0;试过我记忆中的每一个
演员
:{ bar(
static_cast
<A*>(bp)); bar(
dynamic_cast
<A*>(bp)
浏览 3
提问于2022-03-28
得票数 0
1
回答
从存储派生类的基类向量将unique_ptr实例化为派生类
c++
、
oop
、
c++11
、
inheritance
、
unique-ptr
请考虑以下代码:{ virtual ~Fruit() {} }; {}; {};int main() std::vector<std::unique_ptr<Fruit>> product; product.p
浏览 0
提问于2018-12-12
得票数 3
回答已采纳
2
回答
C++中的虚函数
c++
、
virtual-functions
、
dynamic-binding
在下面的使用虚函数的c++代码中using namespace std; public: cout << "Base::fun()called \n"; public: cout << "Child::fun() called\n"; v
浏览 0
提问于2016-12-03
得票数 3
3
回答
dynamic_cast
理解
c++
、
class
、
inheritance
、
dynamic-cast
我最近创建了
dynamic_cast
和
static_cast
。我在某种程度上理解了在
static_cast
中发生了什么,但在
dynamic_cast
中却没有。据我所知,
static_cast
可以用于转换数据类型,并且不检查编译时,但
dynamic_cast
可以。我也写了一个使用动态转换的代码,但我不确定它们是如何相关的。Wazuppppp" << endl;}; void start(Base* bp){ //here is whe
浏览 0
提问于2014-03-09
得票数 0
2
回答
C++类继承
c++
、
class
、
subclass
hitPoints;class COgro : public CEnemy COgro::COgro() {hitPoints = 100}在另一个文件中,我有类‘c火箭’,它可以
与
COgro
浏览 4
提问于2015-01-06
得票数 0
回答已采纳
5
回答
空指针
与
static_cast
兼容
c++
、
casting
为什么将空指针
与
static_cast
一起使用会导致崩溃,而
dynamic_cast
和reinterpret_cast返回一个空指针?出现问题的方法
与
下面给出的方法类似:{ case ENTITY1: Set1(
static_cast
<C*>(pEntity));
浏览 1
提问于2009-12-09
得票数 5
回答已采纳
4
回答
如何在C++中的不同类之间进行转换?
c++
我有一个
与
不同类的转换相关的问题,如以下代码脚本所示:class Coordinate public: E y_;// Option 1 temp.x_ =
static_cast
<double>(value.x_); myarray.
浏览 2
提问于2012-10-24
得票数 1
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云点播
活动推荐
运营活动
广告
关闭
领券