玩命加载中 . . .

学习之旅
4.2-vector 4.2-vector
template<class T, class Alloc = allocator<T>> class vector{ private: T *start_; T *finish_; T *en
2022-06-12
3-迭代器概念与traits编程技法 3-迭代器概念与traits编程技法
3.4 Traits编程技法比如想要获取迭代器指向的元素的类型作为返回值类型,可以这样写 template<class T> struct MyIter { typedef T value_type; // 声明内嵌
2022-06-12
内存管理 内存管理
allocator类class allocator { private: struct obj { struct obj* next; }; public: void*
2022-05-16
单例模式 单例模式
单例分为两种实现方法: 饿汉:单例类定义的时候就进行了实例化,是线程安全的 // 饿汉 class Singleton { private: Singleton() {} static Si
2022-03-29
关键字与运算符 关键字与运算符
关键字与运算符指针与引用 指针存放某个对象的地址,其本身就是变量(命了名的对象),本身就有地址,所以可以有指向指针的指针;可变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变 引用就是变量的别名,从一而终,不可变,必须初始化 不
2022-03-11
C++基础知识-1 C++基础知识-1
变量的声明和定义有什么区别变量的定义是为变量分配地址和存储空间,变量的声明不分配地址。一个变量可以在多个地方声明,但是只在一个地方定义加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只
2022-03-11
19.1-控制内存分配 19.1-控制内存分配
19.1.1 重载new和deletestring *sp = new string("a value"); string *arr = new string[10]; 一条new表达式,实际执行了三步操作 new表达式调用一个名为ope
2022-01-20
18.3-多重继承与虚继承 18.3-多重继承与虚继承
18.3.1 多重继承多重继承是指从多个直接基类中产生派生类的能力。多重继承的派生类继承了所有父类的属性 派生类的派生列表中可以包含多个基类。每个基类都包含一个可选的访问说明符。和单继承相同,如果访问说明符被省略,则关键字class对应的默
2022-01-20
16.5-模板特例化 16.5-模板特例化
函数模板特例化 之前的compare不能处理字符指针,我们可以特例化一个处理字符指针的版本 template<typename T> int compare(const T&, const T&); template
2022-01-20
16.4-可变参数模板 16.4-可变参数模板
可变参数模板一个可变参数模板就是一个接受可变数目参数的模板函数或模板类,可变数目的参数被称为参数包,存在两种参数包:模板参数包,表示零个或多个模板参数;函数参数包,表示零个或多个函数参数 template<typename T, ty
2022-01-20
16.3-重载与模板 16.3-重载与模板
template<typename T> string debug_rep(const T& t) { // const引用版本 ostringstream ret; ret << t;
2022-01-20
16.2-模板实参推断 16.2-模板实参推断
16.2.1 类型转换与模板类型参数函数模板只有两种情况的类型转换 const转换:可以将一个非const对象的引用(或指针)传递给一个const的引用(或指针)形参 数组或函数指针转换:如果函数实参不是引用类型,则可以对数组或函数类型的
2022-01-20
3 / 8