reinterpret-cast 相关问题

一种C ++运算符,它通过重新解释基础位模式简单地允许类型之间的转换。在一般使用中,这相当于指向要转换为任何其他指针类型的指针,并且它还可以允许将整数类型转换为任何指针类型,反之亦然。

为什么 interpret_cast 运算符在 cpp 中被认为是危险的?有更好的方法吗?

我正在研究cpp中文件中的随机访问。我遇到了 reinterpret_cast 运算符。它允许您将指针从一种类型转换为另一种类型,即使这些类型之间没有任何关联。

回答 0 投票 0

在下面的代码中我不想使用 reinterpret_cast 任何人都可以建议我一个好的解决方案而不是 reinterpret_cast 吗?

在下面的代码中我不想使用 reinterpret_cast 任何人都可以建议我一个好的解决方案而不是 reinterpret_cast 吗? #include #include 使用

回答 2 投票 0

GCC:_Static_assert“静态断言的非常量条件”

我有更大的 C 代码库,我想在其中集成一些 C++ 代码。 C++ 代码需要来自 C 代码库的一些声明。 编译器目前是 GCC 6.3.1,但我们也许可以更新 co...

回答 1 投票 0

无法使用 while(file.read(reinterpret_cast<char *>(&myStruct),sizeof(STRUCT))) 读取结构二进制文件两次

无法从结构二进制文件读取两次。我想打开并读取结构的二进制文件。代码中的注释说明。第一个循环有效,但第二个循环被完全绕过。 #包括<

回答 0 投票 0

当把基类转为派生类时,dynamic_cast失败。

我有两个类,基类和派生类。基类有一个虚拟的方法,我的测试例子如下: class Base { public: virtual void Hello() { cout << "-> Hello Base" & 。下面是我的测试例子: class Base { public: virtual void Hello() { cout << "-> Hello Base" &...。

回答 1 投票 0

为什么C语言的内存字段通过投值重解不同于普通投值和通过指针投值?

我写了这样的代码示例: int main(void) { double f = 0.1; int i, j; i = *(int *)(&f); j = (int)f; printf("%d/d%d/d/d", i, j); return 0; }。而我期望的是...

回答 1 投票 1

reinterpret_cast失败 constexpr函数

试图创建一个能够重新解释IEEE双的位的constexpr类。例如: constexpr double pi = 3.14159265358979323846; constexpr fixedpoint a(pi); 然而,遇到 ...

回答 1 投票 0

自定义选项打破了严格的别名规则

我写了一个自定义的可选类(因为我被迫使用C++98,没有STL)。它看起来像这样:模板 struct optional { char value[sizeof(T)]; bool has_value; T& ...

回答 2 投票 0

奇怪的问题

奇怪的问题为了节省时间,我将直接跳过该问题。在我的一个返回函数中,我通过使用如下using语句建立了引用:示例:using T = ...

回答 1 投票 0

[C ++ restd_std :: shared_ptr参考进行优化

您有动物和狗两个类(其中,狗从动物继承而来),并且您经常遇到期待动物但要发送狗实例的情况。在我的特定情况下,我...

回答 2 投票 1

c ++使用reinterpret_cast来将unique_ptr *转换为unique_ptr *以创建可变形树结构

我目前正在编写一个需要操纵树结构(抽象语法树)的程序。在树中,节点将其子节点作为unique_ptr拥有,如下所示:struct Node {//以替换...

回答 1 投票 -1

重新解释为空子类的广播

可能这个问题多次提出,但我仍然找不到任何有效的合理答案。考虑以下代码段:struct A {virtual int vfunc()= 0;};结构B {virtual〜B(){}}; ...

回答 1 投票 0

项目在内存中的位置[重复]

请帮帮我。我按如下方式分配内存(T是模板类型)T * ptr = reinterpret_cast (运算符new(sizeof(T));之后,我想在该内存中放入一个元素;我写... ] >

回答 1 投票 -2

我可以将CFMutableDictionaryRef转换为CFDictionaryRef吗?

函数期望CFDictionaryRef返回:CFDictionaryRef xyz(){CFMutableDictionaryRef test = CFDictionaryCreateMutable(kCFAllocatorDefault,1,&kCFTypeDictionaryKeyCallBacks,&...

回答 1 投票 0


为什么reinterpret_cast (lParam);产生C2440错误?

[我有一个典型的Windows C ++ / MFC / 32位Windows消息处理程序,其签名为LRESULT CMyFrame :: OnMyMessage(WPARAM wParam,LPARAM lParam),我写了这两行,比起第一行更喜欢...]]] >>

回答 1 投票 0

我无意间调用了没有自己的类对象的成员函数。但这如何工作?

这是我的代码。 IService {}类;类X_Service {公共:void service1(){std :: cout <

回答 4 投票 2

我无意间调用了没有自己的类对象的成员函数。但这如何工作?

这是我的代码。 IService {}类;类X_Service {公共:void service1(){std :: cout <

回答 3 投票 2

我如何将插播向量重新转换为int?

我有一个向量:std :: vector src = {0x0,0x0,0x27,0x10};如何将pun设置为int,以便使用reinterpret_cast获得10.000?我对此不感兴趣:(int32_t)(((src [...

回答 1 投票 0

为什么reinterpret_cast不是constexpr?

请考虑以下代码段:static constexpr uint8_t a = 0;静态constexpr const int8_t * b = reinterpret_cast (&a);这无法通过错误进行编译:a ...

回答 1 投票 4

© www.soinside.com 2019 - 2024. All rights reserved.