好的,我在头文件中有一些C++代码,声明如下:
void StreamOut(FxStream *stream,const FxChar *name = nil);
Run Code Online (Sandbox Code Playgroud)
我得到:错误:
'nil' was not declared in this scope
Run Code Online (Sandbox Code Playgroud)
零是一个帕斯卡的事,对吗?
我应该使用NULL吗?
我以为它们都是相同的,或者至少是零,不是吗?
Jar*_*Par 19
在C++中,您需要使用NULL0,或者在某些全新的编译器中使用nullptr.NULL对0 的使用在某些圈子中可能有点争论,但恕我直言,NULL是比0更受欢迎的用法.
是的。它NULL在Cand中C++,而nil在 Objective-C 中。
每种语言都有自己的对象标识符。在C标准库中,NULL是 的 typedef ((void *)0)。在C++标准库中,是orNULL的 typedef 。00L
但是恕我直言,您永远不应该使用 0 代替NULL,因为它有助于提高代码的可读性,就像在代码中使用常量变量一样:在不使用 NULL 的情况下,值 0 用于空指针以及循环中的基索引值以及空列表的计数/大小,这使得更难知道哪个是哪个。此外,它更容易grep实现等。
| 归档时间: |
|
| 查看次数: |
25427 次 |
| 最近记录: |