码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++:类模板的应用实现动态数组


    #include
    using namespace std;
    #pragma once
    template
    class MyArray
    {
        public:
            explicit MyArray(int capacity)  //容量
            {
                this->m_Capacity=capacity;
                this->m_Size=0;
                //如果T是对象,那么这个对象必须提供默认的构造函数

                pAddress=new T[this->m_Capacity];  //容量的大小
            }

            //拷贝构造
            MyArray(const MyArray & arr)
            {
                this->m_Capacity=arr.m_Capacity;
                this->m_Size=arr.m_Size;
                this->pAddress=new T[this->m_Capacity];
                for(int i=0;im_Size;i++)
                {
                    this->pAddress[i]=arr.pAddress[i];
                }
            }

            //重载[]操作符arr[0]
            T & operator [](int index)
            {
                return this->pAddress[index];
            }

            //尾插法
            void Push_back(const T & val)
            {
                if(this->m_Capacity==this->m_Size)
                {
                    return;
                }
                this->pAddress[this->m_Size]=val;
                this->m_Size++;
            }

            void Pop_back()
            {
                if(this->m_Size==0)
                {
                    return;
                }
                this->m_Size--;
            }

            int getSize()
            {
                return this->m_Size;
            }

            //析构函数
            ~MyArray()
            {
                if(this->pAddress!=NULL)
                {
                    delete[]this->pAddress;
                    this->pAddress=NULL;
                    this->m_Capacity=0;
                    this->m_Size=0;
                }
            }

        private:
            T *pAddress;   //指向一个堆空间,这个空间存储真正的数据
            int m_Capacity; //容量
            int m_Size;  //大小

    };


    int main(int argc, char *argv[])
    {

        return 0;
    }
     

  • 相关阅读:
    信息安全公司 DataExpert 利用 OpenText EnCase 解决方案帮助执法部门收集和分析数字证据
    uniapp自动识别并切换到pad端、pc端【不断更新】【伸手党福利】
    华为od德科面试数据算法解析 2022-8-8 欢乐的周末
    SpirngBoot实现文件上传功能——文件上传原理——Postman接口测试
    对于开发而言,用户体验才是最终的王道(性能优化篇)
    Mysql通过Canal同步Elasticsearch
    30天精通Nodejs--第一天:入门指南
    什么是虚拟dom,说一下react和vue的diff算法
    【论文阅读】时序动作检测系列论文精读(2017年 上)
    tailwindcss 如何在 uniapp 中使用
  • 原文地址:https://blog.csdn.net/qq_63626307/article/details/126844408
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号