跳至主要內容

C++11内容总结

张威大约 1 分钟c/c++c++11

C++11 内容总结

1、关键字和语法

nullptr: 之前的NULL,是一个宏定义,代码上是

右值引用: 非常强大;

auto:可以根据右值,推导出右值的类型,然后左边变量的类型也就已知了

nullptr:给指针专用(能够和整数进行区别) 
以前用的NULL是宏定义,在代码上无法区分整数和指针地址 #define NULL 0
(都是4字节,但是毕竟逻辑意义不一样,要区分的!)

for each:可以遍历数组(底层是指针遍历),容器(底层是迭代器遍历)
for(Type val : container) => 底层就是通过指针或者迭代器来实现的
{
	cout<<val<<" ";
}

右值引用:move移动语义函数和forward类型完美转发函数

模板的一个新特性:typename... A  表示可变参(类型参数)
表示参数可能会很多 

2、绑定器和函数对象

function:函数对象

bind:绑定器  
是C的bind1st和bind2nd+二元函数对象 =》 一元函数对象的升级

lambda表达式

3、智能指针

shared_ptr和weak_ptr

4、容器

array底层:

  • Ty:类型参数,底层元素的类型
  • _Size:数组的大小,固定的

5、C++语言级别支持的多线程编程

createThread(Windows)

pthread_create(linux)
clone(linux)