摘要:本文主要向大家介绍了关于C++语言中与的容器(运算符的重载)实例讲解,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。
本文主要向大家介绍了关于C++语言中与的容器(运算符的重载)实例讲解,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。
/*
运算符的重载
C++16次课 容器 stack queue
vector容器的特征 =》 向量容器(底层是数组结构)
1.默认构造的vector,底层没分配过内存 0
2.vector添加元素,满了以后,内存以2倍方式增长
*/
template<typename t="">
class Vector
{
public:
//默认构造的vector,底层没分配过内存0
Vector();
//size表示初始的内存大小,val表示内存初始值
Vector(int size, const T &val = T());
//拷贝构造
Vector(const Vector<t> &src);
//operator=
Vector<t>& operator=(const Vector<t> &src);
~Vector();
//末尾添加元素
void push_back(const T &val);
//末尾删除
void pop_back();
T front()const;
T back()const;
//内存以2倍方式增长
void reSize();
private:
T *mpVec;
int mSize;
int mCur;
};
</t></t></t></typename>
讲讲基础的迭代器
每周五的晚上都是精神高度紧张的晚上,c++这东西真的不太好学。也不知道学了有没有用。
在栈上构造了3个对象。
默认构造。
new分配内存---->构造对象
new默认会调用构造函数。
想要的是内存,不想要对象的产生构造容器时,只想要内存,不想要对象的产生,但new会默认调用一堆的没用对象。
第一次增长带来的无用对象。
开辟空间是重新开辟空间,不是在原来的上覆盖上。
从容器删除对象时,并没有真正的析构对象。
希望把内存开辟跟对象的构造分开(容器),new构造那么多无用对象。内存开辟,malloc只会开辟内存,不会构造对象?
如何在分配好的内存上构造对象。
new有4种方式。
int ?*p=new int;=>异常抛出bad_alloc
int *p=new (nothrow) int;不抛出异常bad_alloc
int *p
delete会删除对象并析构会把内存空间也释放掉,不希望这样
对象析构~T();
容器最后会统一析构。
内存泄漏很严重的事情。
拷贝构造函数,
容器的空间配置器、迭代器。
空间配置器,把**分开。对象的构造、析构,内存开辟、释放
系统提供了默认的空间配置器。
内存开辟、释放,对象构造析构都交由空间配置器完成。避免无用对象的构造
本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号