随笔分类 -  <五>:C++运算符重载

摘要:MyQueue版本1 #include <iostream> using namespace std; template<typename T> class MyQueue { private: struct QueueItem { QueueItem(T _data = T(), QueueIte 阅读全文
posted @ 2022-11-25 17:25 Hello_Bugs 阅读(81) 评论(0) 推荐(0) 编辑
摘要:new ,delete 运算符 int *p =new int; delete p; 看一下汇编代码 可以看到new 和delete 运算符其实也是 operator运算符重载函数的调用 malloc和new malloc 按字节开辟内存 new在开辟内存的时候需要指定类型 new int[10] 阅读全文
posted @ 2022-11-23 20:46 Hello_Bugs 阅读(306) 评论(0) 推荐(1) 编辑
摘要:我们之前有<C++模板编程模块>中的第<四>节 理解空间配置器allocator优化STL中的Vector 我将在此基础上加入迭代器功能代码 Iterator 为什么可以遍历所有的容器的方式都一样? auto it =continer.beign(); for( ;it!=continer.end( 阅读全文
posted @ 2022-11-22 23:36 Hello_Bugs 阅读(46) 评论(0) 推荐(0) 编辑
摘要:迭代器的功能: 提供一种统一的方式,来透明的遍历容器 理解 begin()方法,end()方法, ++ , * 的用处 其中 C++11 中提供的foreach的方式,其底层还是通过迭代器来进行遍历的. #include <iostream> using namespace std; class M 阅读全文
posted @ 2022-11-22 17:08 Hello_Bugs 阅读(51) 评论(0) 推荐(0) 编辑
摘要:我们结合运算符重载知识实现string 类 在自己实现的String类中可以参考C++中string的方法 例如构造,加法,大小比较,长度,[] 等操作. 当前的MyString 类中,暂时不加入迭代器,我们将在下一节中加入迭代器的代码. #include <iostream> using name 阅读全文
posted @ 2022-11-21 22:33 Hello_Bugs 阅读(62) 评论(0) 推荐(0) 编辑
摘要:C++的运算符重载:使对象的运算表现得和编译器内置类型一样 如下代码,如果T是整形,那很好理解,但是如果 T 是一个 Student 类, a + b ?怎么操作,两个学生类怎么相加? 这个就是我们要说的运算符重载问题 template<typename T> T sum(T a,T b){ ret 阅读全文
posted @ 2022-11-20 22:37 Hello_Bugs 阅读(69) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示