随笔分类 - C/C++
摘要:重载 overload 定义:函数名相同,函数的参数个数、参数类型或参数顺序三者中必须至少有一种不同。调用时,编译器能够判断在哪种情况下调用哪种方法。 阶段:编译时。 目的:把函数本身作为一个概念抽象出来,基于不同形参给出不同实现以实现多态,实现静多态的一种技术。 重写/覆盖 override 定义
阅读全文
摘要://order_list.h #pragma once #include <list> #include <initializer_list> using namespace std; template <typename T> class order_list :public list<T> {
阅读全文
摘要:定义 设计一个空对象取代NULL对象实例的检查。NULL对象不是检查控制,而是反映一个不做任何动作的关系。 这样的NULL对象也可以在数据不可用的时候提供默认的行为,属于行为型设计模式。 组成 抽象对象(AbstractObject):定义所有子类公有的行为和属性。 真实对象(RealObject)
阅读全文
摘要:vector下标访问有两种情况: []运算符 at函数 []运算符 不会进行边界检查。 不同于 stdmapoperator ,此运算符不插入新元素到容器。 通过此运算符访问不存在的元素是未定义行为。 at函数 访问指定的元素,同时进行越界检查。 若 !(pos < size()) 则抛出 std:
阅读全文
摘要:协程 历史上协程这个概念的出现要早于线程 协作式多任务与抢夺式多任务 进程与线程 一个标准的线程由线程ID,当前指令指针PC,寄存器和堆栈组成。 进程由内存空间(代码,数据,进程空间,打开的文件)和一个或多个线程组成。 进程持有资源,一旦退出,进程申请的各种资源都会被OS强制回收。 而线程依附于进程
阅读全文
摘要:sort 头文件:algorithm 原型: template< class RandomIt > constexpr void sort( RandomIt first, RandomIt last ); template< class RandomIt, class Compare > cons
阅读全文
摘要:重载小括号(),可以实现重载类型转换运算符和重载函数调用运算符。
阅读全文
摘要:介绍元编程的本质,C++和Julia中元编程的实现机制。
阅读全文
摘要:1.自定义allocator 2.使用C++17提供的pmr
阅读全文
摘要:对比四种方式:下标、迭代器、auto迭代器、for range。
阅读全文
摘要:阐述了指针、引用,左值引用、右值引用的本质。
阅读全文