gpt4 book ai didi

c# - 显式转换运算符中的 void* 是什么,它的用途是什么?

转载 作者:行者123 更新时间:2023-11-30 15:23:56 25 4
gpt4 key购买 nike

我刚刚在 visual studio 中按 F12 时在 mscorlib IntPtr 结构中遇到了以下代码。

public static unsafe explicit operator void* (IntPtr value)
{
return value.m_value;
}

我知道我们可以像这样定义显式转换运算符,但它是 void* 所以我很困惑这是什么以及它的用途是什么?

最佳答案

Void* 是一个空指针。它是 C++ 中经常使用的结构。大多数情况下,当您想要将指针用于多种其他数据类型,或者您不确定要将指针用于哪种数据类型时,就会使用它。

本质上,您可以将其视为一种通用类型,因为它可以转换为任何其他指针类型,反之亦然。它通常在处理非托管代码时使用,并且是 C++ 构造。在托管代码中,它通常没有用处。

关于c# - 显式转换运算符中的 void* 是什么,它的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33752653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com