gpt4 book ai didi

null - D 是否有与 C++ nullptr_t 等效的函数?

转载 作者:行者123 更新时间:2023-12-03 04:22:13 25 4
gpt4 key购买 nike

在 C++ 中,我可以这样做:

void func(void *something) {
cout << "something" << endl;
}

void func(nullptr_t) {
cout << "nullptr_t" << endl;
}

int main() {
int nothing = 5;
func(&nothing);
func(nullptr);
return 0;
}

输出:

something
nullptr_t

所以我可以特殊情况 nullptr_t。

在 D 中,我有两个函数:

void func(void* pod) {
cout << "pod" << endl;
}

void func(Object obj) {
cout << "Object" << endl;
}

那么如何解决调用 func(null) 时的歧义?

最佳答案

void func(typeof(null)) {}

空文字是 D 中的一种特殊类型,您可以使用 typeof 运算符专门获取它。

请注意,这只会捕获 null 文字 - 它不会捕获 null 对象或空指针变量。

关于null - D 是否有与 C++ nullptr_t 等效的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118253/

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