c++ 11nullptr】的更多相关文章

1.nullprt与NULL 代码: void f(int i) {    cout << "f(int)" << endl;} void f(char* c) {    cout << "f(char*)" << endl;}int main () { f(); f('\0'); // f(NULL); 在我的GCC中编译不过,因为NULL被认为是(void*)0,二义性 // f((void*)0); 二义性 f(…
1. 引入nullptr的原因 引入nullptr的原因,这个要从NULL说起.对于C和C++程序员来说,一定不会对NULL感到陌生.但是C和C++中的NULL却不等价.NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro). 1.1 NULL在C中的定义 在C中,习惯将NULL定义为void*指针值0: #define NULL (void*)0 但同时,也允许将NULL定义为整常数0 1.2 NULL在C++中的定义 在C++中,NULL却被明确定义…
[1]基础部分 (1)宏定义 <assert> <offset宏> <#pragma once> <宏定义学习> <预处理语句> <#if 0 #end if> <C语言 宏定义的1<<0 与 直接定义1 有什么区别> <区分不同操作系统.编译器不同版本的宏> <宏和函数的区别(一个BUG的总结)> (2)指针 <指针> <指针与数组> <指针运算>…