static-cast

static-cast

文章 0 浏览 3

将类对象指针打包成 char * 用于消息队列

是否可以通过 POSIX 消息队列正确且安全地传递类对象指针? 例如, Object *obj = new Object(); mq_send(mqdes, static_cast&obj, sizeof(obj), 1); …

淡淡の花香 2024-12-11 10:02:37 1 0

当使用多重继承时,静态转换什么时候是安全的?

我发现自己处于一种知道某物是什么类型的情况。类型是三个(或更多)继承级别之一。我调用返回 B* 的工厂,但是 T 是类型的最高级别(如果我的代码知…

深巷少女 2024-12-10 06:37:49 0 0

为什么涉及虚拟继承时不能使用static_cast向下转型?

考虑以下代码: struct Base {}; struct Derived : public virtual Base {}; void f() { Base* b = new Derived; Derived* d = static_cast(b); } 这…

说好的呢 2024-12-05 22:30:08 1 0

C++防御性编程:从类型安全的缓冲区中读取

假设我有一个我不拥有的类:DataBuffer。它提供了各种 get 成员函数: get(uint8_t *value); get(uint16_t *value); ... 当读取此缓冲区中包含的结构…

追星践月 2024-12-02 12:38:24 0 0

Union 与 static_cast(void*)

我正在编写代码,直到现在我都在使用这样的结构: struct s{ enum Types { zero = 0, one, two }; unsigned int type; void* data; } 我需要一些通用…

抱着落日 2024-11-30 17:03:01 1 0

根据情况在 if 语句中声明不同的数据类型:如何关闭编译器?

嘿,所以我正在制作一个序列化函数,它采用基类指针'Joint',提取联合后代的'type',然后想要基于指针实际指向的任何类型的“关节”来实例化正确类型…

青巷忧颜 2024-11-28 08:26:48 1 0

C++对于 C#,static_cast 为枚举

我正在尝试将一些 VC 6.0 C++ 代码转换为 C#。具体来说,我正在解析一个二进制 dat 文件,并且在转换这段代码时遇到了问题: ar.GetFile()->Read(buf,…

逆流 2024-11-26 20:02:41 1 0

C++ static_cast 运行时开销

请参阅下面的代码。 a) 在这种情况下(简单继承,无虚拟成员),B::df() 中的静态转换是否有任何开销(无论如何)?我发现类似问题的一些相互矛盾的答…

软糖 2024-11-16 14:46:40 4 0

模板化赋值运算符问题

我想确保赋值运算符中的 *this != &rhs 。但它不会编译。有什么建议吗? template class A { public: A() { std::cout << "Default Constructor" << s…

原来分手还会想你 2024-10-21 05:29:23 6 0

当将 void* 转换为任何内容时,我应该使用 static_cast 还是 reinterpret_cast

static_cast 和 reinterpret_cast 似乎都可以很好地将 void* 转换为另一种指针类型。是否有充分的理由偏爱其中之一?…

泪之魂 2024-10-17 18:23:27 7 0

static_cast 被滥用了吗?

我对 static_cast 的感受很复杂,因为它是可用的最安全的 C++ 转换,但同时允许安全和不安全的转换,因此您必须了解上下文才能判断它是否实际上安全或…

绻影浮沉 2024-10-16 23:06:16 5 0

关于类型转换的初学者问题

我打算对随机数生成器中的数字使用 math.h 。看来我只能在双打上使用 math.h 函数。所以: 我试图给“value”“currentValue”的值,或者至少是要转移…

只为一人 2024-10-15 19:14:43 8 0

在 C++ 中转换类型时出错

我有一个程序需要使用 Format();函数将字符串文字和 int 组合成 CString 变量。我尝试了几种不同的方法来执行此操作,它们的代码在这里: // declare …

老旧海报 2024-10-10 17:52:26 7 0

qobject_cast 是如何工作的?

我刚刚在 Qt 中找到了以下代码,我有点困惑这里发生了什么。 特别是 reinterpret_cast(0) 的作用是什么? template inline T qobject_cast(const QObj…

戴着白色围巾的女孩 2024-10-08 19:16:46 10 0

使用 C++ 从 Void* 转换为 TYPE*样式转换:static_cast 或reinterpret_cast

因此,如果您从 Void* 转换为 Type* 或从 Type* 转换为 Void* 您应该使用: void func(void *p) { Params *params = static_cast(p); } 或 void func(…

若言繁花未落 2024-09-06 05:44:31 11 0
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文