gpt4 book ai didi

delphi - "IS"CBuilder 中的运算符 Delphi

转载 作者:行者123 更新时间:2023-12-03 19:26:39 33 4
gpt4 key购买 nike

在Delphi中,我编写了以下代码来识别Graphic是TBitmap:

if aImage.Picture.Graphic is TBitmap then 
...

在 C++ Builder 中我编写了以下代码:

if (dynamic_cast<Image1->Picture->Graphic>(TBitmap) != 0) 
....

但是它不起作用。 C++ Builder 如何进行与 Delphi 中相同的检查?

最佳答案

你的代码应该是

if (dynamic_cast<TBitmap*>(Image1->Picture->Graphic) != 0) 
....

if (dynamic_cast<TBitmap*>(Image1->Picture->Graphic) != nullptr) 
....

if (dynamic_cast<TBitmap*>(Image1->Picture->Graphic)) 
....

TBitmap* bitmap = dynamic_cast<TBitmap*>(Image1->Picture->Graphic);
if (bitmap)
{
....
// do stuff with bitmap
}

这些都是等效的,您可以选择您喜欢的。

dynamic_cast 运算符记录如下:http://docwiki.embarcadero.com/RADStudio/en/Dynamic_cast_(C%2B%2B_Type_Cast_Operator)

关于delphi - "IS"CBuilder 中的运算符 Delphi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35939932/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com