C++11

C++11新特性之十一:emplace-卡核

C++11新特性之十一:emplace

emplace操作是C++11新特性,新引入的的三个成员emplace_front、emplace 和 emplace_back,这些操作构造而不是拷贝元素到容器中,这些操作分别对应push_front、insert 和pu...
草上爬的头像-卡核草上爬2年前
07038966
C++11新特性之二:decltype-卡核

C++11新特性之二:decltype

decltype与auto关键字一样,用于进行编译时类型推导。 decltype实际上有点像auto的反函数,auto可以让你声明一个变量,而decltype则可以从一个变量或表达式中得到类型,...
草上爬的头像-卡核草上爬2年前
06848958
C++11的重大改变-卡核

C++11的重大改变

自从C++语言第一次迭代已经过去13年。C++标准委员会成员Danny Kalev在本文中解释了这门编程语言有怎样的改进,以及如何帮助你编写更好的代码。 C++的发明...
草上爬的头像-卡核草上爬2年前
03258948
C++11新特性之五:Lambda-卡核

C++11新特性之五:Lambda

C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概...
草上爬的头像-卡核草上爬2年前
05447927
C++11新特性之三:nullptr-卡核

C++11新特性之三:nullptr

熟悉C++的童鞋都知道,为了避免“野指针”(即指针在首次使用之前没有进行初始化)的出现,我们声明一个指针后最好马上对其进行初始化操作。如果暂时不明确...
草上爬的头像-卡核草上爬2年前
03974865
C++11并发学习之四:线程同步(续)-卡核

C++11并发学习之四:线程同步(续)

有时候,在第一个线程完成前,可能需要等待另一个线程执行完成。C++标准库提供了一些工具可用于这种同步操作,形式上表现为条件变量(condition variable)和期望(fu...
草上爬的头像-卡核草上爬2年前
07008857
C++11并发学习之三:线程同步-卡核

C++11并发学习之三:线程同步

1.<mutex> 头文件介绍  Mutex又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 <mutex> 头文件中,所以如果你需要使用 std...
草上爬的头像-卡核草上爬2年前
03356851
C++11新特性之十四:std::async-卡核

C++11新特性之十四:std::async

如果你想异步地运行函数doAsyncWork,你有两个基本的选择。你可以创建一个std::thread,用它来运行doAsyncWork,这是基于线程(thread-based)的方法: in...
草上爬的头像-卡核草上爬2年前
06142708
C++11新特性之九:strongly-typed enums-卡核

C++11新特性之九:strongly-typed enums

一.传统枚举类型的缺点 1.作用域冲突 传统C++中枚举元素被暴漏在外层作用域中,这样若是同一作用域下有两个不同的枚举类型,但含有相同的枚举元素,就会产生冲突。...
草上爬的头像-卡核草上爬2年前
07460678
C++11并发学习之二:线程管理-卡核

C++11并发学习之二:线程管理

1.启动线程 (1)使用对象 “小试牛刀”中thread构造时传入的是函数,还可以传入对象。 #include <thread> #include <iostream> void func() { std::cout<<"worker ...
草上爬的头像-卡核草上爬2年前
07206628
C++11新特性之七:bind和function-卡核

C++11新特性之七:bind和function

一.std::bind bind是这样一种机制,它可以将参数绑定于可调用对象,产生一个新的可调用实体,这种机制在函数回调时颇为有用。C++98中,有两个函数bind1st和b...
草上爬的头像-卡核草上爬2年前
03568551
C++11并发学习之一:小试牛刀-卡核

C++11并发学习之一:小试牛刀

1.与C++11多线程相关的头文件 C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是<atomic> ,<thread>,<mutex>,<condition_variable&...
草上爬的头像-卡核草上爬2年前
07588529