关于C++语言中与的容器(运算符的重载)实例讲解
小标 2018-07-25 来源 : 阅读 1094 评论 0

摘要:本文主要向大家介绍了关于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+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程