2 爱学习爱生活的程序猿

尚未进行身份认证

暂无相关简介

等级
TA的排名 22w+

C++ primer 第14章 操作重载与类型转换

文章目录基本概念直接调用一个重载的运算符函数某些运算符不应该被重载使用与内置类型一致的含义选择作为成员或者非成员输入和输出运算符重载输出运算符<<输出运算符尽量减少格式化操作输入输出运算符必须是非成员函数重载输入运算符>>算术和关系运算符相等运算符关系运算符赋值运算符复合赋值运算符下标运算符递增和递减运算符区分前置和后置运算符显式地调用后置运算符成员访问运算符函数调用运算符含有状态的函数对象类lambda是函数对象表示lambda及相应捕获行为的类标准库定义的函数对象在算法中使用标准

2020-05-30 14:55:15

第2、3讲 图像的存储格式

本图像处理系列笔记是基于B站杨淑莹老师的课程进行学习整理的。文章目录黑白图像8位灰度索引图像8位伪彩色索引图像24位真彩色图像图像文件格式BMP文件存储格式BMP文件头位图信息头颜色表位图信息——BITMAPINFO结构BMP位图文件汇总按照颜色深度分类,常用图像文件:黑白图像8位索引图像24位真彩色图像黑白图像单色图像,二值图像,每个像素由0 或 1 组成8位灰度索引图像一个数据矩阵 X 和一个调色板矩阵 MAPX=[015020012050180250220100](1) X

2020-05-28 22:00:38

C++ primer 第13章 拷贝控制

文章目录前言拷贝、赋值与销毁拷贝构造函数合成拷贝构造函数拷贝初始化和直接初始化拷贝初始化的发生:参数和返回值拷贝初始化的限制拷贝赋值运算符重载赋值运算符合成拷贝赋值运算符析构函数析构函数完成的工作什么时候会调用析构函数合成析构函数代码片段调用几次析构函数根据代码理解 拷贝构造函数、拷贝赋值运算符以及析构函数何时执行三 / 五法则需要析构函数的类也需要拷贝和赋值操作示例代码需要拷贝操作的类也需要赋值操作,反之亦然示例代码没有拷贝构造的类有拷贝构造的类=default阻止拷贝定义删除的函数析构函数不能是删除函数

2020-05-27 14:19:03

uninitialized_copy测试代码示例

原测试代码如下:int main() { vector<int>v1{1,3,5,7,9,2,4,6,8}; allocator<int>alloc; auto data = alloc.allocate(9); uninitialized_copy(v1.begin(),v1.end(), data); auto end = data + 9; while(data!=end) { cout << *data <<" "; da

2020-05-26 13:56:16

C++ primer 第13章 拷贝控制

文章目录前言拷贝、赋值与销毁拷贝构造函数合成拷贝构造函数拷贝初始化和直接初始化拷贝初始化的发生:参数和返回值拷贝初始化的限制拷贝赋值运算符重载赋值运算符合成拷贝赋值运算符析构函数析构函数完成的工作什么时候会调用析构函数合成析构函数代码片段调用几次析构函数根据代码理解 拷贝构造函数、拷贝赋值运算符以及析构函数何时执行三 / 五法则需要析构函数的类也需要拷贝和赋值操作示例代码需要拷贝操作的类也需要赋值操作,反之亦然示例代码没有拷贝构造的类有拷贝构造的类=default阻止拷贝定义删除的函数析构函数不能是删除函数

2020-05-20 15:20:57

C++ primer 第12章 12.3 使用标准库:文本查询程序

文章目录使用标准库:文本查询程序文本查询程序设计数据结构在类之间共享数据自己的文本查询程序书中的文本查询程序使用标准库:文本查询程序我们将实现一个简单的文本查询程序,作为标准库相关内容学习的总结。我们的程序允许用户在一个给定文件中查询单词。查询结果是单词在文件中出现的次数及其所在行的列表。如果一个单词在一行中出现多次,此行只列出一次。行会按照升序输出。文本查询程序设计数据结构我们定义一个保存输入文件的类,将这个类命名为TextQuery,它包含一个vector和一个map。vector用来保存

2020-05-16 12:08:12

C++ primer 第12章 动态内存

文章目录前言动态内存与智能指针shared_ptr类shared_ptr和unique_ptr都支持的操作shared_ptr独有的操作make_shared 函数shared_ptr的拷贝和赋值shared_ptr自动销毁所管理的对象shared_ptr还会自动释放相关联的内存程序使用动态内存出于以下原因直接管理内存使用new动态分配和初始化对象动态分配的const对象内存耗尽 定位new释放动态内存使用new和delete管理动态内存存在三个常见问题delete之后重置指针值智能指针和new对比sha

2020-05-13 21:03:10

C++ primer 第11章 关联容器

文章目录使用关联容器map示例关联容器概述定义关联容器关联容器值初始化multimap和multiset关键字类型的要求pair类型pair上的操作关联容器操作关联容器额外的类型别名关联容器迭代器map迭代器set迭代器关联容器和算法添加元素向map添加元素检测insert的返回值使用insert代替下标操作写单词计数程序删除元素map的下标操作访问元素multimap查找元素代码示例一:coun...

2020-05-04 17:43:22

C++ primer 第10章 泛型算法

文章目录概述findcount初识泛型算法只读算法只读算法accumulate只读算法equal写容器元素的算法算法fill算法fill_nback_inserter算法copy算法replace replace_copy重排容器元素的算法sortuniqueunique_copy定制操作向算法传递函数谓词算法stable_sort算法partitionlambda表达式lambda介绍算法fi...

2020-05-03 18:06:12

C++ primer 第9章 顺序容器

文章目录顺序容器类型确定使用哪种顺序容器容器库概览容器操作迭代器迭代器支持的所有操作迭代器支持的所有运算迭代器范围对构成范围的迭代器的要求标准库迭代器范围左闭右开的三种性质容器定义和初始化将一个新容器创建为另一个容器的拷贝将array拷贝到vector中的代码与顺序容器大小相关的构造函数标准库array具有固定大小赋值和swap测试swap的代码关系运算符顺序容器的特有操作向顺序容器添加元素容器元...

2020-04-30 18:18:06

C++ primer 第8章 IO库

文章目录IO库类型和头文件IO对象无拷贝或赋值IO流的条件状态文件输入输出ifstream 示例ofstream 示例文件模式以out模式打开文件会丢弃已有数据每次调用open时都会确定文件模式ofstream 保留源文件 追加数据 示例string流istringstream示例ostringstream示例IO库类型和头文件为了支持不同种类的IO处理操作,标准库定义了一些IO类型。ios...

2020-04-26 16:59:02

C++ primer 第7章 类

成员函数的声明必须在类的内部,定义则既可以在类的内部,也可以在类的外部。作为接口组成部分的非成员函数,它们的定义和声明都在类的外部。类可以允许其他类或者函数访问它的非公有成员,方法是令其他类或函数成为它的友元。如果类想把一个函数作为它的友元,只需要增加一条以friend关键字开始的函数声明语句即可。友元声明只能出现在类定义的内部,但是在类内出现的具体位置不限。友元不是类的成员,不受所在区域访...

2020-04-19 11:36:32

C++STL与泛型编程(4)OOP(面向对象编程) Vs. GP(泛型编程)

文章目录OOP和GP为什么list不能使用标准库中的::sort算法?采用GP的好处OOP和GPOOP将datas和methods关联在一起GP将datas和methods分开为什么list不能使用标准库中的::sort算法?因为标准库的sort的算法用到了随机访问迭代器(RandomAccessIterator),而list链表所提供的迭代器不能随机访问,所以链表不能使用标准库中的::...

2020-04-09 11:54:46

C++STL与泛型编程(3)容器之分类与测试

文章目录容器的分类序列式容器(sequence containers)代码示例辅助函数array 容器array容器的测试代码测试代码中部分函数解析vector 容器vector 容器的测试代码测试代码中部分函数解析list 容器list 容器的测试代码测试代码中部分函数解析forward_list 容器deque 容器stack 容器queue 容器关联式容器(Associative Conta...

2020-04-06 16:53:48

C++STL与泛型编程__侯捷视频_学习博客_总目录

C++STL与泛型编程 侯捷 (1):c++重要网站相关C++STL与泛型编程(2) 第一个C++ STL Application:STL六大部件代码示例,容器前闭后开区间,auto关键字的用法示例...

2020-04-05 18:31:20

C++STL与泛型编程(2) 第一个C++ STL Application

文章目录STL六大部件STL六大部件代码示例时间复杂度前闭后开区间auto关键字的用法STL六大部件容器分配器算法迭代器适配器仿函数容器要放东西,东西要占用内存,分配器可支持容器解决内存问题。算法处理容器中的数据。迭代器是容器和算法之间的桥梁。迭代器是泛化的指针。仿函数作用就像是一个函数。适配器可以对一些部件进行转换,例如,迭代器适配器,容器适配器,仿函数适配器。STL六大部件代...

2020-04-05 18:27:45

C++STL与泛型编程 侯捷 (1)

泛型编程(Generic Programming,GP),就是使用template(模板)为主要工具来编写程序。重要网页:http://www.cplusplus.com/https://en.cppreference.com/w/http://gcc.gnu.org/...

2020-04-05 15:02:33

c++面向对象高级编程 学习十七 const, new, delete

文章目录常量成员函数new和delete常量成员函数常量成员函数是不改变成员数据。当成员函数的const和non-const版本同时存在时,const object只能调用const版本,non-const object只能调用non-const版本。因此,可以看出,const是函数签名的一部分。当成员函数只有const版本时,const object和non-const object均能...

2020-04-02 15:26:48

c++面向对象高级编程 学习十六 vptr和vtbl

文章目录当一个类中有一个或多个虚函数时,内存中会多一个虚指针(vptr,virtual pointer),指向一个虚表(vtbl,virtual table)父类有虚函数,则子类一定有虚函数在下图示意图中,我们可知,B继承A,C继承B。A有两个虚函数,B继承A则也有两个虚函数,同时B对虚函数vfunc1进行了重写,同理,C继承B,则C也有两个虚函数,C对虚函数vfunc1也进行了重写。故在...

2020-04-02 11:24:29

c++面向对象高级编程 学习十五 组合&继承关系下的构造和析构

文章目录继承关系组合关系继承和组合继承关系构造由内而外,析构由外而内,内即是父类组合关系A拥有B,构造由内而外,析构由外而内,内即是B继承和组合构造和析构顺序如图:...

2020-04-01 17:38:15

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。