C++基础语法
文章平均质量分 53
空与一
这个作者很懒,什么都没留下…
展开
-
C++ STL基本组件:容器,算法,迭代器
STL,是Standard Template Library的缩写,标准模版库。STL使用类模版或者函数模版实现,包含3个最基本最重要的组件:容器:使用类模版实现的各种数据结构算法:使用函数模版实现的各种算法迭代器:类模版,每个容器类都有自定义的迭代器类使用容器对象的相关方法,可以获取迭代器对象算法函数的参数和返回值,很多是迭代器对象STL容器包含2种:序列式容器:容器中的元素是无序的,可以指定元素的位置,比如vector、list、deque关联式容器:容器中的元素是键值对(原创 2021-11-03 11:43:20 · 475 阅读 · 0 评论 -
C++模版:类模版的友元函数
类模版可以有友元函数。友元函数可以是普通函数。template <typename T>class Stack {private: T items[10]; int top; public: Stack(); void setTop(int top); bool isEmpty(); friend int size2(Stack<T> & stack);};size2()并不是函数模版,但它的参原创 2021-10-29 11:57:51 · 116 阅读 · 0 评论 -
C++模版:类模版的继承
如果父类是类模版,子类有2种方式继承父类:指定具体类型,继承父类实例化类子类可以定义成普通类子类也可以定义成模版类子类继承父类模版,子类必须定义成模版类,将模版参数传给父类第1种情况:Apple1是普通类,继承模版实例化类Fruit<int>Apple2是模版类,继承模版实例化类Fruit<int>template <typename T>class Fruit {public: Fruit();};template &l原创 2021-10-27 22:02:17 · 362 阅读 · 0 评论 -
C++模版:类模版初探
在定义类的时候,继承和组合可以满足大部分需求。但是对于某些场景,比如用来储存对象的容器类,针对不同的储存对象类型,容器类都需要提供相同的代码实现。如果使用类模版,可以将储存对象类型作为参数传给容器类,这样就可以使用一套容器类代码。类模版语法类模版的语法如下,<>包起来的是模版参数列表,可以有多个参数,用逗号分隔。template <typename T>类声明template :关键字,表示定义模板typename :关键字,表示一个类型参数T :变量名,其值代表一个原创 2021-10-18 11:42:31 · 83 阅读 · 0 评论 -
C++模版:深入使用函数模版
上文函数模版初探介绍了函数模版的基本使用,本文深入探讨函数模版。函数模版参数的类型转换函数模版有多个同类型的形参,使用过程中会碰到类型转换问题。下面是一个加法函数模版:template <typename T>T add2(T a, T b) { std::cout << "T add2(T a, T b)" << std::endl; return a + b;}使用隐式实例化,2个实参的类型必须相同,否则编译出错No m原创 2021-09-26 11:31:33 · 75 阅读 · 0 评论 -
C++模版:函数模版初探
文章目录函数的冗余问题函数模版语法定义函数模版实例化函数模版函数模版基础总结模版是泛型编程的基础。函数模版是通用的函数描述,可以用它来生成具体类型的函数。下面介绍函数模版的基础知识。函数的冗余问题以交换函数为例,针对int,double类型,需要定义2个函数。这2个函数的实现方式是一样的,唯一的区别是不同的参数类型。如果要满足所有的类型,那就要写很多相同的代码。// int类型交换void swapInt(int& a, int& b) { int temp = a; a原创 2021-09-12 19:46:07 · 88 阅读 · 0 评论