08 2021 档案
摘要:#C++中的引用计数机制 引用计数是为了防止内存泄露而产生的。基本想法是对于动态分配的对象,进行引用计数,每当增加一次对同一个对象的引用,那么引用对象的引用计数就会增加一次,每删除一次引用,引用计数就会减一,当一个对象的引用计数减为零时,就自动删除指向的堆内存。 在C中,手动释放资源,不是最佳实践。
阅读全文
摘要:
三、异常 条款9:利用destructor避免泄露资源 把资源封装在对象内,通常可以在exception出现时避免资源泄露 条款10:在构造函数内阻止资源泄露 C++仅仅能删除被完全构造的对象(fully constructed objects),只有一个对象的构造函数完全运行完毕,这个对象才被完全
阅读全文

摘要:文章目录 前言 一、环境配置 1.安装selenium 2.使用正确的谷歌浏览器驱动 二、使用步骤 1.加载chromedriver.exe 2.设置是否开启可视化界面 3.输入关键词、下载图片数、图片保存路径 三、爬取效果 四、完整代码 前言 作为一名CVer,数据集获取少不了用到数据、图片爬虫技
阅读全文
摘要:一、基础议题 条款1:仔细区别pointers和references 指针使用*和->,引用使用“.”引用必须指向一个已初始化的对象,不能为null,而指针可以指向某个对象,也可以为null指针可以被重新赋值指向另一对象,而引用不可变更指向。 条款2:最好使用C++转型操作符 使用C++的转型操作符
阅读全文
摘要:七、模板与泛型编程 41.了解隐式接口和编译器多态 1.类和模板都支持接口和多态。 2.类的接口是显式定义的——函数签名。多态是通过虚函数在运行期体现的。 3.模板的接口是隐式的(由模板函数的实现代码所决定其模板对象需要支持哪些接口),多态通过模板具现化和函数重载解析在编译期体现,也就是编译期就可以
阅读全文
摘要:六、继承与面向对象设计 32.确定你的public继承塑模出is-a关系 public继承意味着is-a。适用于base class身上的每一件事情也一定适用于derived class身上。每一个derived class对象也都是一个base class对象。 33.避免遮掩继承而来的名称 编译
阅读全文
摘要:五、实现 26.尽可能延后变量定义式的出现时间 尽可能延后变量定义式的出现,甚至应该尝试延后这份定义直到能够给他初值实参为止,这样不仅能避免构造和析构非必要对象,避免无意义的default行为,也可增加程序的清晰度并改善程序效率。 27.*尽量少做转型动作 const_cast通常被用来将对象的常量
阅读全文
摘要:三、资源管理 13.以对象管理资源 1.为了防止资源泄漏,请使用RAII对象,在构造函数里面获得资源,并在析构函数里面释放资源. 2. 引用计数型智慧指针(RCSP):持续追踪多少个指针指向该资源,无人指向他时自动删除该资源,如unique_ptr、shared_ptr和auto_ptr(现在已经没
阅读全文
摘要:二、构造/析构/赋值运算 05.了解C++默默编写并调用那些函数 如果自己不声明, 编译器就会暗自为class创建一个default构造函数、一个copy构造函数、一个copy assignment操作符(代码合法有意义时编译器才会生成),以及一个析构函数 并且所有的这些都是public且inlin
阅读全文
摘要:一、让自己习惯C++ 01.视C++为一个语言联邦 c++是多重范型编程 语言,视c++包括4种次语言: 1:C 2:Object-Oreinted C++; 3:Template C++; 4:STL(template程序库,包括容器、迭代器、算法和函数对象)。 02.尽量以const,enum,
阅读全文