摘要: 1 静态链接库:静态链接库是一个或者多个obj文件打包,链接器从静态链接库获取所有引用的函数,并将库同代码一起放到可执行文件中。 优点 : (1) 代码装载速度快,执行速度略比动态链接库快; (2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.L 阅读全文
posted @ 2018-03-02 16:40 蓝天飞翔的白云 阅读(1851) 评论(0) 推荐(0) 编辑
摘要: 一、全局变量 一般最好把全局变量声明在cpp文件中(如果在.h文件中定义的话,多层包含可能会引起重复定义的错误) cpp中定义好了之后,可以在.h文件中利用 extern关键字进行 声明(extern 声明表示在此处引入外部定义变量的声明,而不是在本编译单元中再声明一个同名的局部变量)然后其他文件要 阅读全文
posted @ 2018-03-02 10:08 蓝天飞翔的白云 阅读(5721) 评论(2) 推荐(0) 编辑
摘要: 写了个汉诺塔,使用全局变量count来记录步数,结果Error:count不明确 后来才知道 std命名空间里有std::count,所以与全局变量count冲突 std::count 所以修改方法有以下几种: 1.全局变量count改为cnt(或其他名称) 2.使用count的地方改为::coun 阅读全文
posted @ 2018-03-02 09:51 蓝天飞翔的白云 阅读(17379) 评论(0) 推荐(2) 编辑
摘要: vector::erase 从指定容器删除指定的元素 两个重载: 这种使用方法会内存错误,因为删除itor指定元素后,itor就编程野指针了,正确使用是itor重新赋值为erase返回值。 2. 这个方式在删除连续元素会错误,结果发现是100 300 300 500,因为itor指向删除元素下一个元 阅读全文
posted @ 2018-03-02 09:11 蓝天飞翔的白云 阅读(4309) 评论(0) 推荐(0) 编辑
摘要: 内存对齐由编译器负责,编译器为程序中的每个"数据单元"安排在适当的位置上。 内存对齐原因: (1)平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。 (2)性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上 阅读全文
posted @ 2018-03-02 08:50 蓝天飞翔的白云 阅读(222) 评论(0) 推荐(0) 编辑