随笔分类 -  C++

学习C++的笔记,记载,转录
摘要:静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库 阅读全文
posted @ 2021-04-22 15:45 OFSqueque 阅读(803) 评论(0) 推荐(0)
摘要:原文见月心小筑的博客:http://hi.baidu.com/yueyemijing/blog/item/cefe404f253a0c30aec3ab08.html 一、分别编译与链接(Linking) 大多数高级语言都支持分别编译,程序员可以显式地把程序划分为独立的模块或文件,然后每个独立部分分别 阅读全文
posted @ 2021-04-22 15:43 OFSqueque 阅读(256) 评论(0) 推荐(0)
摘要:栈和堆 所谓栈和栈,内存分配中的栈和堆与数据结构中的栈和二叉堆不是同一个概念。下面是关于Linux下操作系统程序地址空间的系统图: 从图中可以看出基本分布,内存中的栈区是处于高地址以地址的增长方向为上,栈地址是向下增长的。从上往下,栈区是分配局部变量空间。堆区是从下往上,堆区的地址是向上增长的用于分 阅读全文
posted @ 2021-04-07 10:18 OFSqueque 阅读(177) 评论(0) 推荐(0)
摘要:一、string是一个特殊的容器: 它包含的只有字符,支持一些容器的操作,但不是全部。支持的操作包括索引,而且字符串类型提供一个迭代器,类似于vector类型的迭代器。因此,很多适用于vector的操作都适用于字符串。 1、将一行所以才故意分成单个单词,这些单词通过空白符来分隔(空格,制表符,退格符 阅读全文
posted @ 2021-02-17 10:48 OFSqueque 阅读(60) 评论(0) 推荐(0)
摘要:动态内存的使用很容易出问题,因为确保在正确的时间释放内存是极为困难的。有时我们会忘记释放内存产生内存泄漏,有时提前释放了内存,再使用指针去引用内存就会报错。 为了更容易(同时也更安全)地使用动态内存,新的标准库提供了两种智能指针类型来管理动态对象。智能指针的行为类似常规指针,区别在于它负责自动释放所 阅读全文
posted @ 2020-12-31 03:03 OFSqueque 阅读(911) 评论(0) 推荐(0)
摘要:Smart pointer 会不会比Raw pointer效率低? 想把智能指针用成瓶颈的话,基本上是不可能的,不要过度担心 Smart pointer 不用自己管理内存了,是不是对c++程序员要求低了 显然是要求更高了,想要用好智能指针的前提是会熟练使用裸指针,而且要了解智能指针的实现原理,要根据 阅读全文
posted @ 2020-12-29 01:53 OFSqueque 阅读(757) 评论(0) 推荐(0)
摘要:Initiallizer list、auto type 、foreach 、nullptr 代替了c++ 03的NULL、enum class代替了c++03的enum,更安全、override关键标识 for virtual function (更加安全,直观 )、final关键标识 ,主要是cl 阅读全文
posted @ 2020-12-29 01:42 OFSqueque 阅读(168) 评论(0) 推荐(0)
摘要:将最近工作中,方向转换比较快,经常一个季度做这个,一个季度做那个,遇到一些常用的C++语法,而记性不太好经常忘记,整理一下笔记,将一些自己喜欢用的语法记录下来,方便自己查阅。 map用法: std::map<int, ststructInfo>::iterator iter = vec.begin( 阅读全文
posted @ 2020-12-28 15:38 OFSqueque 阅读(152) 评论(0) 推荐(0)