gpt4 book ai didi

c - 这个类型转换是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:34 24 4
gpt4 key购买 nike

wikipedia entry for Typedef声明在第一行之后的每一行中:

typedef int (*funcptr)(double);         // pointer to function of double returning int
funcptr x = (funcptr) NULL; // C or C++
funcptr y = funcptr(NULL); // C or C++
funcptr z = static_cast<funcptr>(NULL); // C++ only

funcptr 在左侧用于声明变量,在右侧用于转换值。现在我明白第二行是将 NULL 转换为 funcptr,所以 x 是 NULL,但是第三行到底是什么意思?如果这应该是维基百科条目所建议的 Actor ,那么为什么括号中是 NULL?我不熟悉那种类型的类型转换语法,很想知道在哪里对此进行了解释。

最佳答案

第三行是C++语法,和第四行一样。这意味着从 NULL 构造一个 funcptr,在这种情况下它具有强制转换的效果。说明这在 C 中也有效的注释行是伪造的。

编辑:我正要编辑维基百科,但有人抢先一步:)

关于c - 这个类型转换是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18003438/

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