随笔分类 -  C++知识点

C++基础知识
摘要:函数模板语法 函数模板的作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: template<typename T> 函数声明或定义 解释: template——声明创建模板 typename——表明其后面的符号是一种数据类型,可以用class代替 阅读全文

posted @ 2022-03-10 15:46 foghorn 阅读(109) 评论(0) 推荐(0) |

摘要:accumulate定义在 numeric 中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理。 头文件 #include <numeric> 原型 默认求累加和 template <class InputIterator, class T> T accumulate (InputIter 阅读全文

posted @ 2022-03-05 22:57 foghorn 阅读(1044) 评论(0) 推荐(1) |

摘要:原文见:http://c.biancheng.net/view/6675.html 迭代器是什么 无论是序列容器还是关联容器,最常做的操作无疑是遍历容器中存储的元素,而实现此操作,多数情况会选用“迭代器(iterator)”来实现。那么,迭代器到底是什么呢? 我们知道,尽管不同容器的内部结构各异,但 阅读全文

posted @ 2022-02-11 19:42 foghorn 阅读(67) 评论(0) 推荐(0) |

摘要:通常认为,STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如下表所示。 | STL的组成 | 含义 | | | | | 容器 | 一些封装数据结构的模板类,例如 vector 向量容器、list 列表容器等。 | 阅读全文

posted @ 2022-02-11 19:22 foghorn 阅读(166) 评论(0) 推荐(0) |

摘要:lower_bound(arr, x)函数用于查找arr中第一个大于或等于x的元素,如果arr是容器,则返回的是迭代器,如果arr是普通数组,则返回的是指针。 upper_bound(arr, x)查找arr中第一个大于x的元素,如果x有多个,则查找最后一个。 两个函数必须在有序序列上操作,在头文件 阅读全文

posted @ 2022-02-11 14:49 foghorn 阅读(61) 评论(0) 推荐(0) |

摘要:emplace_back() 和 push_back() 的区别,就在于底层实现的机制不同。push_back() 向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素);而 emplace_back() 在实现时,则是直接 阅读全文

posted @ 2022-02-11 13:17 foghorn 阅读(444) 评论(0) 推荐(0) |

摘要:面向行的输入:getline() getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。要调用这种方法,可以使用cin.getline()。该函数有两个参数。第一个参数是用来存储输入行的数组的名称,第二个参数时要读取的字符数。如果这个参数为20,则函数最对读取19个字符,余下的 阅读全文

posted @ 2021-09-01 20:51 foghorn 阅读(179) 评论(0) 推荐(0) |

摘要:0 说明 本文仅实现string类中几种重要、常用的功能,旨在掌握C++类设计的关键知识点。 1 知识点 构造函数(包括默认构造函数、拷贝构造函数以及自定义的其他构造函数) 运算符重载 友元 析构函数 C风格字符的操作 2 类的设计 为使代码简洁,本文采取分文件编写模式,类的声明包含在头文件"mys 阅读全文

posted @ 2021-06-29 20:52 foghorn 阅读(1986) 评论(0) 推荐(0) |

摘要:0 重载限制 C++提供的重载功能可以使我们自定义的类型进行包括算术运算在内的各种运算,极大地方便了代码的编写,但是C++中运算符重载需要满足一定的规则。 重载后的运算符必须至少有一个操作数是用户定义的类型,可以防止用户为标准类型重载运算符。比如,不能将减法运算符重载为计算两个double值的和。 阅读全文

posted @ 2021-06-28 22:56 foghorn 阅读(192) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3