C++11 thread 学习

C11 自2011年发布以来已经快6年了,之前一直没怎么关注,虽然书上经常看,直到最近几个月才看了一些 C11 的新特性,今后几篇博客我都会写一些关于 C11 的特性,算是记录一下自己学到的东西吧,和大家共勉。
相信 Linux 程序员都用过 -pthread, 但有了 C
11 的 std::thread 以后,你可以在语言层面编写多线程程序了,直接的好处就是多线程程序的可移植性得到了很大的提高,所以作为一名 C++ 程序员,熟悉 C++11 的多线程编程方式还是很有益处的。

Read More

C++ STL

STL简介

STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C中,但在被引入C之前该技术就已经存在了很长的一段时间。
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个头文件:
algorithm、deque、functional、iterator、vector、list、map、memory、numeric、queue、set、stack和utility

Read More

C++格式化输出流

有时ACM或者程序需要在输入输出时有一些特定格式,如在输出实数时规定字段宽度,只保留两位小数,数据向左或向右对齐等。C提供了在输入输出流中使用的控制符(有的书中称为操纵符)
**需要注意的是:以下函数包含在头文件iomanip。(顺便说一下从Linux GCC 4.8.0开始加入头文件bits/stdc
.h,虽然不是标准头文件,但这个头文件着实顺手,平时用的头文件都在里面)**

Read More