static-cast 相关问题

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

为什么不允许跨播?

考虑这个简单的例子:struct Base1 {}; struct Base2 {};派生的结构:public Base1,public Base2 {}; int main(){衍生为foo; Base1 * foo1 =&foo; Base2 * foo2 = ...

回答 1 投票 0


为什么允许将派生类的方法静态广播到基类的方法?

示例结构B1 {int x;无效f(){x = 1;}};结构D:B1 {int x;无效f(){B1 :: x = 2;}};使用Dmp = void(D :: *)();使用B1mp = void(B1 :: *)(); int main(){Dmp dmp =&D :: f; D d; (d。* ...

回答 2 投票 1

std :: weak_ptr 的存储,并使用static_pointer_cast

如果将std :: weak_ptr与static_pointer_cast存储在一起,引用计数仍将起作用吗?这是一个非常简单的示例(请注意,SmallBox和BigBox类几乎完全相同):#...

回答 1 投票 0

C ++无法通过虚拟基数A从基数A转换为派生类型B

我有三个班级:A类{}; B类:虚拟公共A {}; C类:虚拟公共A {}; D类:公共B,公共C {};尝试从A *到B *进行静态转换时,出现以下错误:...

回答 7 投票 51

使用static_cast更改派生结构成员

对于我的新项目,我想使用以前的代码作为框架,通过避免重写代码来加快原型开发。在下面的代码中,派生结构属于新项目,需要...

回答 2 投票 0

虚函数如何影响static_cast?

如果我有以下代码:#include class Base {public:void Call(){std :: cout <

回答 1 投票 0

将一阶派生类铸造为二阶派生类-为什么起作用?

我只是从基类创建了两个派生类。然后创建一个派生类的对象并转换为基类。然后从基类转换为第二个派生类,我是...

回答 1 投票 0

C ++将一个派生类转换为另一类。如何工作?

我只是从基类创建了两个派生类。然后创建一个派生类的对象并转换为基类。然后从基类转换为第二个派生类,我是...

回答 1 投票 0

为什么`decltype(static_cast (…))`并不总是`T`?

对于以下代码,第一个断言通过,但是第二个断言失败模板 constexpr void assert_static_cast_identity(){使用T_cast = decltype(static_cast (std :: ...

回答 1 投票 2

为什么我除以两个整数时static_cast不起作用?

此问题与C ++代码有关。我有两个整数a和b,我想将一个除以另一个并将答案存储为双精度。但是当我输入以下代码时:int a = 3,b = 7; double d = ...

回答 1 投票 0

使用static_cast时指向const指针的原因

我试图解决一本书中的一个练习,但在static_cast上失败了。我使用了cstdlib中的qsort方法。我必须将函数的参数转换为C-String(const char *)。但是我...

回答 2 投票 2

铸造字符为整数使用静态投不工作? [关闭]

我有这个计划,我有一个问题,该功能是stringLength功能。因为它是由我们的教授给我们,我不能改变函数的声明。这个问题我有一个问题...

回答 1 投票 0

什么时候的static_cast为int删除布尔操作错误

当执行的static_cast ,我发现了一个关于缺失布尔()算子的抱怨:main.cpp中:15:35:错误:使用删除功能的 'Ĵ::运算布尔()' J =的static_cast (*这个)...

回答 1 投票 3

在C ++中,是否可以将CRTP与私有库一起使用?

在C ++中,我有很多类,与继承无关,它们定义了一个方法std :: string get_name()const。有许多类需要的实用函数是根据......实现的。

回答 1 投票 2

为什么CRTP中的向下转发定义了行为

我已经使用了CRTP模式一段时间,但是阅读有关向下转换的未定义行为的答案我不明白为什么static_cast (这),这是......

回答 1 投票 1

static_cast没有尖括号代码片段我不明白

我正在寻找为基于c的freeRtos实现c ++包装器。我发现这个链接它只是一小段代码,但它内部有以下内容:static void taskfun(void * parm){static_cast(...

回答 1 投票 1

使用Static_Cast指向基类对象的派生类指针[复制]

我有下面的代码片段,我有一个基类和派生类。基类和派生类都具有共享相同名称的函数成员。在主(),我有一个...

回答 3 投票 0

为什么当static_cast(ing)函数为void *时,编译器的行为会有所不同?

以下代码在VSC ++ 2017中编译没有任何错误,并且不在gcc 7.3.0中编译(错误:从类型'int(int)'无效static_cast到类型'void *'void * p = static_cast (功能))...

回答 1 投票 9

为什么static_cast为同一个对象提供不同的内存位置?

我的代码类Parent {int a; }; class Child {int b; }; struct GrandChild:public Parent,public Child {int a,b,c; }; int main(){GrandChild GC; std :: cout <<“GrandChild的...

回答 5 投票 3

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