例如:

object* pObject = nullptr;


要么:

object* pObject = 0;


同样,哪个是更好的性能明智的选择?

最佳答案

nullptr的类型为std::nullptr_t,因此构造函数将被重载。这意味着将null编码在类型中这一事实,因此从理论上讲,可以通过避免有条件的方式使其更快。

指针显然没有重载的构造函数,因此无论您使用0还是nullptr都是无关紧要的。相同的机器代码,相同的性能。

无论如何,如果需要空指针,请使用nullptr。注意0,因为它将调用整数重载而不是指针。

关于c++ - 在性能方面,使用'nullptr'或仅使用'0'更快吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13205885/

10-12 23:52