【C++】养很多鱼,只为观察向量的生长

向量的存储空间根据需要而自动伸缩。当现有的存储空间不足以容纳新增元素时,向量会自动申请新的存储空间,并将旧的元素进行迁移。我们通过分析下述C++程序来理解向量的内存管理行为。

本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载,但需要注明原作者"海洋饼干叔
叔";本文不允许以纸质及电子出版为目的进行抄摘或改编。
1.《Python编程基础及应用》,陈波,刘慧君,高等教育出版社。免费授课视频 Python编程基础及应用
2.《Python编程基础及应用实验教程》, 陈波,熊心志,张全和,刘慧君,赵恒军,高等教育出版社Python编程基础及应用实验教程
3. 《简明C及C++语言教程》,陈波,待出版书稿。免费授课视频

//Project - FishVector
#include <iostream>
#include <vector>
using namespace std;

class Fish{
   
    string sNumber;
public:
    Fish(){
   
        static int i = 0;
        sNumber = std::to_string(i++);
        cout << "Fish constructor: " << sNumber << endl;
    }

    Fish(const Fish& r){
   
        sNumber = r.sNumber + "[Copy]";
        cout << "Fish copy constructor: " << sNumber << endl;
    }

    ~Fish(){
    cout << "Fish destructor: " << sNumber << endl; }
};

int main(){
   
    vector<Fish> f(2);    //0,1号鱼
    printf(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值