为保证C++的稳定性及兼容性,C++11共进行了17处改动,接下来的几篇博客会一一介绍。
C++11将下面C99特性的支持都纳入了新标准中
1,C99中的预定义宏
2,__func__预定义标识符
3,_Pragma操作符
4,不定参数宏定义以及__VA_ARGS__
5,宽窄字符串连接
1.1,C++11中与C99兼容的宏
1.2,__func__预定义标识符
1,该标识符基本功能是返回所在函数的名字,事实上,按照标准定义,编译器会隐式的在函数的定义之后定义该标识符
如:const char* hello(){return __func__;}
实际定义等同于:
const char* hello()
{
static const char* __func__ = "hello";
return __func__;
}
2,C++11还允许该标识符可以使用在类或者结构体中
如:
struct TestStruct
{