7得票3回答
使用StringUtils.isEmpty而不失去关于空指针的编译警告

我更喜欢使用org.apache.commons.lang.StringUtils类,而不是通常的if(myString == null || myString.equals("")),并且会这样写if(StringUtils.isEmpty(myString))。 然而,这种做法 - 至少...

21得票2回答
C++中的nullptr如何实现?

我很好奇如何使用 nullptr。标准 N4659 和 N4849 规定: 它必须具有类型 std::nullptr_t; 您不能获取其地址; 它可以直接转换为指针和成员指针; sizeof(std::nullptr_t) == sizeof(void*); 将其转换为 bool 的结果是...

74得票7回答
为什么不将nullptr称为NULL?

在C++11中,添加了nullptr关键字作为更安全的类型空指针常量,因为以前将NULL定义为0可能存在一些问题。 为什么标准委员会选择不将新的空指针常量命名为NULL,或者声明将NULL定义为#defined到nullptr?

19得票4回答
在构造函数中,"this"指针何时为空?

我遇到了一个问题,在构造函数中使用了this指针,但是这个指针在那个时候恰好是空的。 例如: MyClass::MyClass() { // The 'this' pointer happened to be null in this case, // and the progr...

13得票5回答
通过取消引用一个空指针来分配一个引用

int& fun() { int * temp = NULL; return *temp; } 在上述方法中,我试图对空指针进行解引用。当我调用此函数时,它不会抛出异常。我发现当返回类型为引用时,如果返回类型为值,则不会抛出异常。即使将空指针的解引用分配给引用(如下行...

10得票3回答
Android - 处理屏幕方向变化时的对话框

我正在覆盖Dialog类的onCreateDialog和onPrepareDialog方法。 我按照Reto Meier的《Professional Android Application Development》第5章的示例提取了一些XML数据,然后使用对话框显示信息。 我基本上按照示例...

41得票5回答
为什么C++中的NULL通常是整数字面值而不是像C语言一样是指针?

我已经写了许多年的C++,使用nullptr来表示空指针。我也知道C语言中的NULL,这是一个空指针常量,类型为void*。 由于某些原因,我不得不在我的C++代码中使用NULL。当进行一些模板参数推断时,编译器告诉我我的NULL实际上是一个......长整型。所以,我进行了双重检查:#inc...

11得票1回答
在C++中,&*NULL是否有明确定义?

在哪个版本的C++标准中(如果有的话),以下内容是明确定义的? void foo(void) { char *nullPtr = NULL; &*nullPtr; } 请注意,我在这里特别询问的是&*nullPtr。我知道仅仅使用*nullPtr是未定义的...

11得票3回答
在C语言中,NULL和0完全等价吗?

在C89/C99+中,使用NULL而非0有“硬”原因吗?是否可以毫无顾虑地在使用C语言的非常难以理解的代码中互换它们,而不考虑与标准合规性相关的深刻问题? 我关心的是像标准合规性、可移植性、未定义行为、与语言的意外角落产生意想不到的不同交互等“硬”问题,还有那些(假设的)亿级巨脑分段内存超级...

7得票3回答
可以假设NULL常量就是零吗?

《理解和使用C指针》一书中,Richard Reese提到: “null”是一个抽象的概念,由空指针常量所支持。这个常量可以是零或非零值。C程序员不需要关心它们的内部表示。 我的问题是,既然“这个常量可以是零或非零值”,那么在我的代码中做以下操作是否安全? int *ptr = NULL...