
C++
文章平均质量分 90
和C++基础相关的
张三和李四的家
来不及解释了,快上车。
展开
-
C++标准库 STL —— 仿函数和适配器
仿函数 function call operator 仿函数中的 函数名,是一个 operator() 仿函数主要是用来服务算法的,如果要被算法调用就需要重载 ()。这里称这种()为 function call operator 仿函数主要分为三大类: 算术类 template <class T> struct plus : public binary_function<T, T, T> { T operator()(const T& x, const T &原创 2021-03-16 18:21:25 · 290 阅读 · 0 评论 -
C++标准库 STL -- 容器源码探索
文章内容为侯捷老师的《C++标准库与泛型编程》的学习笔记 第二讲:容器源码探索 源码之前,了无密码。 GP 编程 Containers 和 Algorithm 团队各自忙自己的事情,其间通过 Iterator 进行沟通。 Algorithm 通过 Iterator 确定操作的范围,Iterator 从 Container 取用元素。 template<class T> inline const T& max(const T& a, const T& b) { r原创 2021-03-10 09:42:13 · 249 阅读 · 0 评论 -
C++标准库 STL -- STL 体系结构基础介绍
STL 体系结构基础介绍 文章目录STL 体系结构基础介绍代码示例容器分类vector关于vector 的动态扩充deque红黑树multisetmultimaphashTableunordered_multisetallocator 组成: 容器(constainers) 算法(algorithm) 迭代器(iterators) 仿函数(functors) 适配器(adapters) 分配器(allocators) 容器就是数据结构,容器中放入数据,要占用内存,但是在使用容器的时候,我们只关心如何存取原创 2021-03-09 18:03:55 · 345 阅读 · 0 评论 -
看 侯捷老师 C++ 面向对象编程的笔记
文章目录C++ 面向对象编程基于对象C 和C++class template 模板参数传递:pass by value 和 pass by reference返回值:pass by value 和 pass by referenceBig Three ,三个特殊的成员函数生命周期和作用域new 和delete 的关键字浅析array new 一定要搭配 array delete面向对象复合复合模式下的构造和析构构造函数调用——有内而外析构函数调用——由外而内委托(Delegation) Compositio原创 2020-12-28 18:15:24 · 269 阅读 · 0 评论 -
C++ 泛型编程——模板
文章目录C++模板类模板函数模板类模板中的全特化和偏特化全特化参数的偏特化范围的偏特化成员模板 C++模板 模板有类模板,函数模板和成员模板。 类模板 template <typename T> class complex { public: complex(T r = 0, T i = 0) :re(r), im(i) {} T real() const { return re; } T imag() const { return im; } private: T re, im;原创 2020-12-09 19:14:17 · 137 阅读 · 0 评论 -
类与对象
struct简介在C语言中,关键字struct是程序员可以定义一块结构化的内存,用于存储具有各种各样数据类型的一个数据集。struct Fraction { int number,denom; char description[256]; };struct中的每一个小型内存块(number, denom, Description)都可以通过名称访问。这些小型的内存块被称为数据成员,有原创 2016-11-28 20:38:05 · 483 阅读 · 0 评论 -
C++简介
C++对象的大小 有一个特殊的运算符sizeof(),它返回存储某个表达式所要求的内存单元数(以Char类型的大小为单位)。在大多系统中,一个char类型值只需要一个8位的字节保存。与大多数函数不同的是,sizeof()运算符的实参可以是值表达式,也可以是类型表达式。 如果变量时基本类型,则必须初始化它。启动程序时,未初始化的基本类型变量具有未定义的值。 main与命令行参数 argv是ar原创 2016-11-26 15:35:27 · 649 阅读 · 0 评论 -
拷贝构造函数与赋值运算符
拷贝构造函数与赋值运算符对象的“生命周期”管理意味着完全地控制对象的诞生、繁殖和消亡的过程。使用拷贝构造函数和赋值运算符,可以更快的进行对象的繁殖操作。 拷贝构造函数是一种构造函数,其原型类似于: ClassName(const ClassName& x); 赋值构造函数的作用就是创建一个对象,该对象是同一个类中已有对象的精确副本。 针对某个类的赋值运算符重载了符号=,其含义对特定的类都不相原创 2016-11-23 17:35:44 · 410 阅读 · 0 评论 -
继承与多态
简单派生继承是组织类的一种特殊方式,所有面向对象的语言都支持这种方式,它使得类能够以多种不同的方式共享代码,并且可以揭示类之间的自然关系。它也可以使设计良好的类更具有可复用性。 为了使用继承,需要将一组相关类的共同性质放置到一个基类中,然后由它派生出其他更专门化的类。每一个派生类都继承于基类的所有成员,当然也可以根据需要重写或扩展基类中的每一个函数。从一个共同的基类继承各种成员大大简化了派生类,利原创 2016-11-26 17:05:51 · 357 阅读 · 0 评论 -
函数
本文来源于《C++ Qt设计模式》一书,本人作为整理,记录和回顾。函数函数重载函数调用解析 如果在某个作用域范围内调用了某个重载函数,则C++编辑器会根据实参来决定调用函数的哪一个版本。为此,必须使用实参的个数和类型与重载函数的签名完全匹配。 以下编辑器确定调用哪一个重载函数的步骤: 1. if,存在一个完全匹配的函数,则调用此函数。 2. else if,通过标准的类型提升转换来进行匹配原创 2016-11-21 18:09:04 · 343 阅读 · 0 评论 -
栈
关于栈的使用与文章模板连用在第一次使用栈时,栈中没有任何元素,因此栈顶指向0. 当插入第一个元素N1时,栈顶的指针改指向于N1的地址。元素的Next指向于原栈顶(0)的位置。 当插入第一个元素N2时,栈顶的指针改指向于N2的地址。元素的Next指向于原栈顶(N1)的位置。原创 2016-12-06 22:58:48 · 341 阅读 · 0 评论