* 本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要
一、新的数据类型

* C++11添加的新的数据类型如下:
* char16_t、char32_t
* long long、unsigned long long
* std::nullptr_t(下面详细介绍)
二、Template表达式内的空格

* C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了
* 例如: vector<list<int> >; //C++11之前 vector<list<int>>; //C++11
三、nullptr

* C++11允许你使用nullptr取代0或NULL,用来表示一个pointer(指针)指向所谓的no value
* nullptr会被自动转换为各种pointer类型,但是不会被转换为任何证书类型
演示案例
void f(int); void f(void*); f(0); //调用f(int) f(NULL);
//如果NULL被视为0,那么调用的是f(int),可能与你的预期不符 f(nullptr); //调用f(void*)
* 下面是在VS 2015上面的运行结果 

三、std::nullptr_t

* std::nullptr_t是一种基础数据类型,定义于<sctddef>中
* std::nullptr_t定义的变量必须初始化
* nullptr属于一种常量,它是属于std::nullptr_t数据类型的
演示案例

 
void f(int) { std::cout << "int" << std::endl; } void f(void*) { std::cout <<
"void*" << std::endl; } void f(std::nullptr_t) { std::cout << "std::nullptr_t"
<< std::endl; } int main() { f(0); f(NULL); f(nullptr); //必须初始化 std::nullptr_t
t = nullptr; f(t); return 0; }

技术
©2019-2020 Toolsou All rights reserved,
用python制作文字特效C#下WPF中实现贪吃蛇小游戏(超详细步骤附带源码)mysql 面试题毕业后五年拉开差距的原因Kali(渗透工具):15---Metasploit的漏洞渗透(对操作系统、应用程序、客户端攻击)如何设计主键:(自动增长字段)和(业务字段)作为主键的比较一个已经转行一年的程序员的感受普通的程序员和大神级的程序员有什么区别?在华为做外包的日子EXCEL之工资表转工资条