一种C ++运算符,它通过重新解释基础位模式简单地允许类型之间的转换。在一般使用中,这相当于指向要转换为任何其他指针类型的指针,并且它还可以允许将整数类型转换为任何指针类型,反之亦然。
这是严格违反别名的经典示例:std :: uint32_t foo(float * f,std :: uint32_t * i){* i = 1; * f = 2;返回* i; } int main(){std :: uint32_t i = 3; foo(...
我有一个指向uint8_t的指针。每2个元素实际上是一个uint_16_t值,我想使用reinterpret_cast:uint16_t * Dst16Rgb = reinterpret_cast (Dst8Rgb);输出...
假设我们有两种类型,它们具有相同的表示形式(相同的成员变量和基类,并且顺序相同)。在它们之间进行reinterpret_cast是否有效(即不是UB)?例如。是...
请考虑以下程序:struct A {}; int main(){A a; a b = a; a c = reinterpret_cast (a); } The compiler(g++14) throws an error about invalid cast from type 'A' to type 'A'....
让B派生自A类。通过阅读各种文章,我给人的印象是,像const std :: shared_ptr a(new B()); const std :: shared_ptr &...
我有以下结构struct record {RType m_rectype; char m_recordname [11]; char m_recordNo; char m_record_date [6];我有以下一行char * type line =“1Netherlands3240382”......
reinterpret_cast如何用于展平std :: vector?
我想表示一个包含几个整数的结构的std :: vector作为整数的“展平”向量,而不复制数据。我用reinterpret_cast尝试了一些东西,如图所示......
C ++ reinterpret_cast带阵列引用和移动/复制赋值的安全性
我的队友正在为安全关键应用程序编写一个固定大小的std :: vector实现。我们不允许使用堆分配,因此他们创建了一个简单的数组包装器:...
这是一个有点深奥的问题,但我很好奇以下类扩展模式在现代C ++中是否合法(如在,不构成UB)(对于所有的目的和目的,我很好......
在内存映射中使用reinterpret_cast时处理未定义的行为
为避免复制大量数据,需要mmap二进制文件并直接处理原始数据。这种方法有几个优点,包括将分页降级到操作......
以下代码仅向向量col插入一个值。代码是从DBMS代码库中提取的(用于导入文件),具体来说,它来自1代码使用void *来读取任何...
#包括 char ** make2D(const int dim1,const int dim2){char * toAlloc; const int size =(dim1 * dim2)+ dim2; toAlloc = new char [size]; for(int i = 0; i <dim2; ...
我想编写自己的“小矢量”类型,第一个障碍就是弄清楚如何实现堆栈存储。我偶然发现了std :: aligned_storage,这似乎是专门为...设计的
我正在查看https://en.cppreference.com/w/cpp/language/reinterpret_cast,我注意到它指定了我们总是可以转换为的合法类型:byte * char * unsigned char *但我没有看到void * ...
C ++:reinterpret_cast是这些场景中的最佳选择吗?
这已经困扰了我很长时间:如何将指针从任何东西转换为char *以将二进制转储到磁盘。在C中,你甚至没有考虑过它。双d = 3.14; char * cp =(char *)&...
如果我有一个指向Derived **的派生类指针,并希望将它转换为指向Base **的基类指针,则使用static_cast (ppd)不编译,我被迫使用...
reinterpret_cast bug还是UB? [重复]
请考虑以下代码:#include #包括 std :: uintptr_t minPointer(void * first,void * second){const auto pair = std :: minmax(reinterpret_cast)
更具体地说,假设A是B的可访问基类,下面的代码是否会产生未定义的行为,并且断言是否根据标准禁止触发?无效测试(B ...