如何使用C ++样式类型转换将const类指针转换为int *

时间:2019-06-08 13:34:20

标签: c++ casting

如何以c ++样式将const类指针转换为int *?

仅使用4个C ++ static_cast,dynamic_cast,reinterpret_cast或const_cast

请考虑以下课程:

class A
{
public:
    virtual void foo(A& a) { std::cout << "A::foo" << std::endl; }
};

void logPtr(int* c) { std::cout << std::hex << c << std::endl; }

const A* pa = new A();

logPtr((int*)pa);

以c ++样式转换的类型应如何出现在此代码中?

我希望C样式转换以及C ++样式类型转换都输出十六进制数字。

1 个答案:

答案 0 :(得分:0)

您将需要使用CarouselContainer,但请允许我使用frame challenge:首先不要使用@State var showAlert = false let alert = Alert(title: Text("Title"), message: Text("Alert message"), primaryButton: Alert.Button.default(Text("OK"), onTrigger: { print("OK button tapped") } ), secondaryButton: Alert.Button.cancel() ) var body: some View { NavigationView { Text("Content") .navigationBarItems(trailing: Button(action: { self.showAlert = true }, label: { Text("Show Alert") }).presentation(self.$showAlert, alert: { return alert }) ) } } reinterpret_cast是更好的选择。任何指针类型都可以转换为int*,而无需强制转换。

void*

不必强制输入类型。