reinterpret-cast

    7热度

    2回答

    这个问题与Warning (Anachronism): Assigning void(*)(int) to extern "C" void(*)(int)有关。在列举的问题,我们有typedef的声明为extern "C"函数指针: extern "C" { typedef void (*SignalHandlerFn) (int); }; 当我们试图给它分配: new_handl

    0热度

    1回答

    将float值的位模式复制到uint32_t或反之亦然(而不是它们),我们可以使用std::copy或memcpy复制位字节到字节。另一种方法是如下使用reinterpret_cast: float f = 0.5f; uint32_t i = *reinterpret_cast<uint32_t*>(&f); 或 uint32_t i; reinterpret_cast<float&>(

    1热度

    1回答

    我有一个存储在二进制文件中的浮点数的二维数组。我读出来使用: #include <fstream> #include <algorithm> .... ifstream infile(fileName.c_str(), ios::in | ios:binary); const int numCols = 2; char rows[1 * sizeof(int)]; infile.rea

    7热度

    1回答

    我已经看过以下相关的问题,并且它们都不能解决我的确切问题:one,two,three。 我写其中的元件(键 - 值对)与一些记录信息一起存储的集合: struct Element { Key key; Value value; int flags; }; std::vector<Element> elements; (为简单起见,假定两个Key和Value是

    9热度

    1回答

    使用reinterpret_cast将指向成员函数的指针转换为另一个指向同一类的成员函数是否合法?以下示例工作。但是合法吗? #include<iostream> #include<vector> #include<string> class A { public: void func_int(int x) { std::cout << x << std::endl;

    4热度

    2回答

    我有一个浮点数值的数组,我需要做一些简单的可矢量化的操作,比如把所有这些数据相加,然后把它们全部除以这个总和。我还需要访问(主要是读取)数组的各个元素。我想我可以使用SIMD类型来启用向量化的数组。每当我需要做很多事情与阵列的各个元素,我会蜕变引用代替,像这样的数组转换成常规浮点值的数组的引用,并获得: extern crate simd; use simd::x86::avx::f32x8;

    5热度

    1回答

    我试图复制this但它不会编译。 unsigned char x = 0; reinterpret_cast<signed char>(x); 它说 C:\Users\SXG5558\Documents\Arduino\sketch_jun30a\sketch_jun30a.ino: In function 'void setup()': sketch_jun30a:3: error:

    1热度

    1回答

    假设我有一个类A: class A : virtual SomeOtherClass{ //Stuff here }; 假设我有这样做的地方: A thing; alignas(A) uint8_t arr[sizeof(A)]; for (int x = 0; x < sizeof(A); x++) { //Copy into array arr[x]

    2热度

    2回答

    下面的代码有什么问题吗?我特别感兴趣的是使用reinterpret_cast。 class Base1 { public: virtual void foo(){} }; class Base2 { public: virtual void bar(){} }; class Derived : public Base1, public Base2 { }

    3热度

    2回答

    是否有任何安全的方法从一个整数转换为结构? 举个例子: struct Colour { uint8_t A; uint8_t R; uint8_t G; uint8_t B; }; 而且我投来或从整数 uint32_t myInteger Colour* myColour = reinterpret_cast<Colour*>(&myInteger