static-cast

    0热度

    3回答

    我想将time()返回的unix时间戳记转换为整数。我一直在寻找20分钟的解决方案,并决定在这里问。 我找到的每个解决方案都没有奏效。当试图从time_t的强制转换为int,我得到的错误: long int t = static_cast<long int> time(NULL); error C2061: syntax error : identifier 'time' error C214

    3热度

    1回答

    我正在重新学习C++,并试图与boost::iostreams::mapped_file一起工作。这个类将文件数据映射到char*,我想将它投射到double*(因为我正在使用双打)。 我可以使用C风格的类型转换它:double* foo = (double*) data,但我想要使用惯用的C++,并且C++倾向于使用C++类型转换:static_cast等等。 我想出了: double* dat

    1热度

    6回答

    我有两个类和我的转换方法: class A; class B; class A { ... }; class B { ... static B fromA(A a) { B b; // ... some property conversions from A to B return b; }

    1热度

    3回答

    我真的很烦人的问题,我无法解决。我有这样的代码片段: LOG(INFO) << "totalTranslation: " << m_move.totalTranslation << " tileSize: " << static_cast<double>(tileSize); if(m_move.totalTranslation >= static_cast<double>(tileSize))

    -1热度

    1回答

    为什么static_cast<>()(也称为downcast)不会投射类型运行时,而dynamic_cast<>()(也称为upcast)呢?两者都用于通过课堂层次进步。他们之间有什么不同,因此dynamic_cast<>()需要投入类型运行时间?

    0热度

    3回答

    我找不出为什么我的代码返回错误的值。 'a'的输入返回97和'z'returns 122.我在做什么失踪? int main() { enum Alphabet {a = 1, b = 2, c = 3,d = 4,e = 5,f = 6,g = 7,h = 8,i = 9,j = 10,k = 11,l = 12,m = 13,n = 14,o = 15,p = 16,q = 17

    0热度

    3回答

    我有一个抽象基类和模板派生类。派生对象可以由派生对象的前一个实例构造,比如说一个整数。到目前为止,我们有 struct base { /* ...pure virtual functions here... */ virtual ~base() = default; /* NO DATA */ }; template <class D> struct der

    -1热度

    3回答

    据我所知,(MyType)foo,MyType(foo)和static_cast<MyType>(foo)有些类似,前两个成为最后一个(编辑:我已经被纠正了,前面的句子是不真实的。)我的问题是哪个是惯用的版本?情境是一个考虑因素? 因为我知道C风格转换在C++中不是首选,所以它可以转换为功能转换和static_cast。

    3热度

    1回答

    C++有static_cast将base_class_pointer转换为derived_class_pointer。 这是非常类似的操作,将object_data_member_pointer转换为object_pointer。 我写了函数ConvertDataMemberPtrToObjectPtr使用不安全的C类型转换。 这怎么能以安全的方式完成?链接到成员必须被指定为模板参数member_

    5热度

    4回答

    error: invalid static_cast from type ‘unsigned char*’ to type ‘uint32_t* {aka unsigned int*}’ uint32_t *starti = static_cast<uint32_t*>(&memory[164]); 我已经分配了一个字符数组,我想读取4个字节作为一个32位int,但我得到一个编译器错