c++primer
文章平均质量分 87
c++primer学习笔记
记录了c++primer的核心知识,列出了好的课后题,并且记录了c++的“坑”处。
夏天的技术博客
这个作者很懒,什么都没留下…
展开
-
《c++ primer》 第13章 拷贝控制 学习笔记
第 13 章 拷贝控制1.拷贝,赋值与销毁对初学c++的程序员来说,必须定义对象拷贝,移动,赋值或销毁时做什么。拷贝构造函数:如果一个构造函数的参数是本身的引用,且其他的参数都有默认值,此构造函数是拷贝构造函数。合成拷贝构造函数:在我们没有为类定义时,编译器会帮我们定义一个。编译器从给定对象中一次将每个非static成员拷贝到正在创建的对象中例子:#includ原创 2014-12-15 16:53:39 · 3886 阅读 · 6 评论 -
《c++ primer》 第16章 模板与泛型编程
面向对象编程和泛型编程都能处理编写程序时不知道类型的情况区别就是OOP是在运行时处理,而泛型编程是在编译的时候就能知道类型了一.定义模板1.我们可以为函数定义一个模板,而不是为每一个类型定义一个函数。比较函数:#include template int compare(const T&v1, const T&v2){ if(v1 < v2)原创 2015-01-30 14:07:33 · 2938 阅读 · 0 评论 -
c++primer 例子文本程序再探
先附上前面的basket类的例子,里面很多思想也是我需要学的#include #include #include #include //买书的类class quote{ friend double print_total(std::ostream &os, quote &q, std::size_t sz); public: quote() = d原创 2015-01-15 15:57:52 · 2130 阅读 · 0 评论 -
《c++ primer》 第15章 面向对象程序设计 学习笔记
第 15 章 面向对象程序设计毫无疑问重要的一章。1. oop 概述面向对象程序设计的核心思想是:数据抽象(类),继承和动态绑定。使用继承:可以定义相似的类型并对其相似关系建模。使用动态绑定:可以在一定成都上忽略相似类型的区别,而以统一的方式使用他们的对象。通过继承联系在一起的类构成一种层次关系,根部是一个基类,其他类直接或间接继从基类继承而来。继承原创 2014-12-30 14:03:56 · 2846 阅读 · 1 评论 -
《c++ primer》 第14章 重载运算与类型转换 学习笔记
第14章 重载运算与类型转换介绍内置类型运算都有基本的运算符来支持,而我们想要实现类类型的一些运算,就需要自己重载运算符。基本概念:重载的运算符是具有特殊名字的函数,他们的名字由关键字operator和气候面要定义的运算符号共同组成。和其他函数一样,也有返回类型,参数列表和函数体。注意:当一个重载的运算符是成员函数时,this绑定到左侧的对象,成员运算符函数的参原创 2014-12-23 15:24:56 · 2222 阅读 · 0 评论 -
动态内存管理类
非常好的例子,有许多需要注意的地方,所以单独写一篇博客通过动态内存管理实现vector#ifndef _VECTOR_H_#define _VECTOR_H_#include #include #include #include #include #include class StrVec{ public: StrVec():e原创 2014-12-18 18:54:50 · 1995 阅读 · 0 评论 -
《c++ primer》文本查询程序和邮件处理程序
记录一下#ifndef _TEXTQUERY_H_#define _TEXTQUERY_H_#include #include #include #include #include #include #include #include using line_no = std::vector::size_type;class TextQuery;class原创 2014-12-15 00:26:15 · 2138 阅读 · 2 评论 -
《c++ primer》 第12章 动态内存 学习笔记
第 12 章 动态内存概述.动态内存和智能指针在c++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针。我们可以选择对对象进行初始化delete,接受一个动态对象的指针,销毁该对象,并释放与之相关的内存。动态分配内存带来了许多问题,比如忘记释放的内存泄漏,提前释放的指针非法访问内存。c++11新标准库提供了两种原创 2014-12-11 14:34:15 · 4335 阅读 · 6 评论 -
《c++ primer》 第11章 关联容器 学习笔记
关联容器支持高效的查找和访问,它和其他容器类型不同,是通过键值来访问元素的,两个主要的关联容器是map和set,map中的元素是键->值对应,set中的元素光是键。按关键字有序保存元素map 关联数组:保存关键字-值对应 头文件mapset 关键字既值,既只保存关键字的容器原创 2014-12-09 21:50:37 · 2692 阅读 · 2 评论 -
《c++ primer》第10章 泛型算法 学习笔记
概述:大多数算法都定义在头文件#include,标准库还在#include定义了一组数值泛型算法。泛型算法本身不会执行容器操作,它们只会运行在迭代器之上,执行迭代器的操作结论:算法永远不会改变底层容器的大小,算法可能改变容器中保存的元素的值或者移动元素,但永远不会直接添加或者删除元素。!除了少数以外,标准库算法都对一个范围内的元素进行操作,我们将此元素范围称为“输入范围”。接受原创 2014-12-03 21:25:33 · 2692 阅读 · 1 评论 -
《c++ primer》 第9章 顺序容器 学习笔记
1.容器概述#include //迭代器,包含c++11的begin() 和end()函数#include //c++11 数组类型,长度固定,提供了更好、更安全的接口,执行效率和内置数组相同,可以有效替代内置数组#include //c++11 值类型的数组类型,针对值类型的数组,有更多的操作,比如求和,最大最小数等。#include原创 2014-12-01 20:41:50 · 2755 阅读 · 4 评论 -
《c++ primer》 第8章 IO库 学习笔记
1.IO类#include istream//从流中读取数据ostream//从流中写入数据iostream//读写流#include //文件ifstreamofstreamfstream#include //字符串istringstreamostringstreamiostringstreamfstream和sstream都继承于iostream,所以iost原创 2014-11-30 15:02:13 · 2492 阅读 · 3 评论 -
《c++ primer》第7章 类 学习笔记
类:简单来说就是数据和它的操作的一种封装,内部提供接口函数1.“ 定义 ”在类内部的函数是隐式inline的。2.this成员函数通过一个名为this的额外的隐式参数来访问调用它的那个对象。用请求该函数的对象的地址来初始化this。仍何对类成员的访问都被看作this的隐式引用。std::string isbn( ) { return bookNo; }std:原创 2014-11-29 10:17:58 · 3872 阅读 · 4 评论 -
《c++ primer》第6章 函数 笔记
1.函数使用引用形参返回多个信息给函数传入一个额外的引用形参来保存其他信息#include #include using namespace std;string::size_type find_char(const string &s, char c, string::size_type &occurs){ auto ret = s.size(); occur原创 2014-11-27 00:27:12 · 6295 阅读 · 12 评论 -
const,宏和内敛的使用
今天主要看的是无权图最短路径算法,算法最后的优化很巧妙原创 2014-10-14 18:14:44 · 3992 阅读 · 1 评论