摘要: 首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件(假定我们的平台是win32),后者拥有PE(Portable Executable,即 阅读全文
posted @ 2017-07-14 09:19 btgo 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直 使用该工具做C/C++开发,sourceinsight能够满足我的大部分需求,但是有些功能没有总觉得是一个缺憾。本文将补充这些非常好用的功能。<1>.使用快捷键注 阅读全文
posted @ 2017-07-11 14:26 btgo 阅读(884) 评论(0) 推荐(0) 编辑
摘要: tar命令具有打包、解包、压缩、解压缩4种功能。它常用的压缩、解压缩方式有两种:gzip、bzip2。一般而言,以".gz"、".z"结尾的文件是用gzip方式进行压缩的,以".bz2"结尾的文件是用bzip2方式进行压缩的,后缀名中有"tar"字样时表示这是一个文件包。 tar命令有5个常用选项。 阅读全文
posted @ 2017-07-11 09:28 btgo 阅读(1968) 评论(0) 推荐(0) 编辑
摘要: 当用户在屏幕移动其他程序的窗口时,可能会遮住当前程序的部分窗口。Windows 不会保存被遮住的那部分窗口,当其他程序的窗口被移开时,Windows 会要求你的程序重新绘制刚才被遮住的部分区域。如果你自己不重绘,Windows 是不会管的。Windows 是一个消息驱动的系统,它使用两种方式把各种事 阅读全文
posted @ 2017-07-03 15:35 btgo 阅读(273) 评论(0) 推荐(0) 编辑
摘要: constexpr初探 为了使函数获取编译时计算的能力,你必须指定constexpr关键字到这个函数。 除了编译时计算的性能优化,constexpr的另外一个优势是,它允许函数被应用在以前调用宏的所有场合。例如,你想要一个计算数组size的函数,size是10的倍数。如果不用constexpr,你需 阅读全文
posted @ 2017-06-28 15:31 btgo 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 区间迭代的基本语法 近来,基本上所有现代编程语言都有一种对一个区间写for循环的便捷方式。最终,C++也有了相同的概念;你可以给循环提供一个容器,它帮你迭代。前面我们已经在什么是C++11中看到了一些简单的例子。让我们回忆一下区间迭代的样子: 上面代码打印一个名叫vec的vector的内容,用i去捕 阅读全文
posted @ 2017-06-28 15:15 btgo 阅读(428) 评论(0) 推荐(0) 编辑
摘要: C++11一个最激动人心的特性是支持创建lambda函数(有时称为闭包)。这意味着什么?一个Lambda函数是一个可以内联写在你代码中的函数(通常也会传递给另外的函数,类似于仿函数或函数指针)。使用Lambda,创建机动函数会更简单,而以前你必须创建一个有名函数。在这篇文章中,我先用一些例子解释为什 阅读全文
posted @ 2017-06-28 09:57 btgo 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 新的返回值语法 让我们讲一下新的返回值语法,这个语法还能看到auto的另一个用处。在以前版本的C和C++中,返回值的类型必须写在函数的前面: 在C++11中,你可以把返回类型放在函数声明的后面,用auto代替前面的返回类型,像这样: 但是为什么我要这样用?让我们看一个证明这个语法好处的例子。一个包含 阅读全文
posted @ 2017-06-27 15:07 btgo 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 在C++11中,如果编译器在定义一个变量的时候可以推断出变量的类型,不用写变量的类型,你只需写auto即可。 第一种用法:自动推到内置类型 第二种用法:自动推导模版和迭代器类型 第三种用法:用于模版 上面的代码,我们看到这里需要两个模板参数:一个是Builder对象的类型,另一个是Builder创建 阅读全文
posted @ 2017-06-27 13:36 btgo 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为: template<class T>...... 阅读全文
posted @ 2017-06-16 18:05 btgo 阅读(199) 评论(0) 推荐(0) 编辑