static-cast 相关问题

一个C ++强制转换操作符,只使用有关正在强制转换的对象的静态类型的信息,从一种类型转换为另一种类型

为什么我不能将 void* 静态转换为函数指针?

这可以编译(尽管是 UB (对吧?)因为 fvp == nullptr) 整数 f; 无效* fvp{}; decltype(f)* fp = static_cast(fvp); 但这不能 无效 f() {} 无效* fvp{}; decltyp...

回答 2 投票 0

强制转换指针类型的正确方法

考虑以下代码(以及 VirtualAlloc() 返回 void* 的事实): 字节* pbNext = reinterpret_cast( VirtualAlloc(NULL, cbAlloc, MEM_COMMIT, PAGE_READWRITE)); 为什么是

回答 3 投票 0

static_cast<uint32_t> 对于非 const/constexpr 浮点返回 0,保持 2^32 -1 (UINT32_MAX),但当浮点为 const/constexpr 时返回 UINT32_MAX

我在尝试将一段代码放入模板函数中时遇到了问题。该代码基本上执行钳位。下面是代码的可重现版本。 #包括 ...

回答 2 投票 0

基础到派生的 static_cast,不可见的关系

我们可以从 Base* 静态转换为 Derived*,但在我的例子中,当转换应该发生时,关系是不可见的。有没有什么技巧(当然除了reinterpret_cast)可以使它......

回答 1 投票 0

c++ static_cast 在运行时到虚拟基

假设我们有这样的代码: 结构奶奶{ 整数g; }; struct Mom : 虚拟奶奶 { 整数米; }; 结构儿子:妈妈{ 整数; }; int main() { 整数x; std::cin >> x; 妈妈* 妈妈 = (x ? 新 S...

回答 1 投票 0

当两个类具有相同的布局时,从基类到派生类的 static_cast 定义良好吗?

我想为 C API 创建 C++ 绑定。以下是未定义的行为吗? typedef 结构 ABC_Foo { int x_; } ABC_Foo; 命名空间 abc { Foo 类:公共 ABC_Foo { 民众: 整数...

回答 1 投票 0

static_cast - 为什么它在这里工作?

我有以下代码片段 班级基础 { 民众: 虚空 MyMethod() { std::cout << "Base MyMethod" << "\n"; } }; class der : public base { public: v...

回答 3 投票 0

reinterpret_cast 可以用来将指针强制转换为未实现的类指针吗?

我有两个类,一个有实现,另一个没有。然后在 main() 函数中,我定义了一个带有实现的类实例,然后reinterpret_cast

回答 1 投票 0

枚举的reinterpret_cast错误

为什么我不能使用reinterpret_cast运算符进行这样的转换? 枚举 Foo { bar, baz }; 无效 foo(Foo) { } int main() { // 富(0); // 错误:从 'int' 到 'Foo' 的转换无效 // 富(

回答 4 投票 0

static_cast 将此对象派生为 C++ 中的基类

在阅读 Item 27 最小化有效 C++ 中的转换时,它说不要尝试使用 static_cast 将派生类中的 *this 转换为基类。因为 static_cast(*this) 将创建一个

回答 3 投票 0

在C++中,static_cast<float>(some_double_variable)的标准行为是什么?

除了精度损失之外,当双精度型转换为浮点型时还必须发生某种特殊的转换行为(例如夹紧等)。我试图找到 C++ 标准

回答 1 投票 0


CRTP没有编译时检查吗?

我试图使用奇怪的重复模板模式来实现静态多态性,当我注意到 static_cast<> 时,它通常在编译时检查类型是否实际上是

回答 3 投票 0

一个需要另一个函数作为参数的函数如何可以在c++的类中使用?

我见过这个问题的不同版本,但它并没有真正解决我的问题。情况是这样的,我想使用一个库,但其中一个功能非常复杂,需要......

回答 1 投票 0

带有 MinGW 的 C++:在转换结果类型上忽略类型限定符:但是忽略哪个限定符?

我有抽象类A和公开继承自A的派生类B。 我将指向 const A 的 const 指针传递给函数。在这个函数中,我将其 static_cast 为指向 const B 的 const 指针,并且...

回答 1 投票 0

C++ 模板中 const int 和 int 的不同行为

当我使用 C++ 模板时,我发现有时它会给出不直接的结果。 #包括 #包括 模板 void func(const int& a1, f0&...

回答 1 投票 0

在模板函数中,如果输入的类型是枚举类,如何使用 std::underlying_type ?

我有一段代码,它返回给定数字的某些位的值(我也使用 static_cast 将枚举类计算为数字)。 模板 bool get_bits(键入输入,u...

回答 3 投票 0

什么时候可以安全地使用 static_cast 在 C++ 中进行向下转型?

我需要知道在什么条件下可以使用 static_cast 以便将父类指针转换为子类指针而不会导致未定义的行为。 通常dynamic_cast是

回答 1 投票 0

尝试在C++中使用static_cast实现begin/end

我正在尝试实现一个对象来轻松迭代数组,而无需单独对每个元素进行 static_cast (我必须执行数百次)。当我使用经典的 for 循环时它有效,但是当我...

回答 1 投票 0

static_cast<> 和 C 风格转换有什么区别? [重复]

有什么理由比 C 风格的转换更喜欢 static_cast<> 吗?它们相等吗?速度有什么区别吗?

回答 7 投票 0

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