• C++primer 练习12.6


       编写函数,返回一个动态分配的int的vector。将此vector传递给另一个函数,这个函数读取标准输入,将读入的值

    保存在vector元素中。再将vector传递给另一个函数,打印读入的值。记得在恰当的时刻delete vector

    // 12_6.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include<memory>
    #include<iostream>
    #include<vector>
    using namespace std;
    
    //第一个函数,返回一个动态分配的int的vector
    vector<int> * func1()
    {   //动态分配一个int的vector,使用默认初始化,此时p指向的对象是个空的vector<int>
        auto p = new vector<int>;
        return p;
    }
    
    //第二个函数读取标准输入
    vector<int>* func2()
    {
        //得到第一个函数动态分配的对象
        auto p = func1();
        int i=0;
        cout << "please input your number:";
        while (cin >> i)
            p->push_back(i);
        return p;
    }
    
    //第三个函数,打印读入的值
    void func3()
    {
        //得到第一个函数动态分配的对象
        auto p = func2();
        for (auto beg = p->begin();beg != p->end();++beg)
            cout << *beg << " ";
        cout << endl;
        //记得释放第一个函数分配的动态内存,否则造成内存泄漏
        delete p;
    }
    
    
    int main()
    {
        func3();
        return 0;
    }
  • 相关阅读:
    [离散数学II]2017.5.9
    mysql内连接、左连接、右连接
    Android平台介绍
    软技能(面试)1
    流程控制练习题
    函数:算法
    linux系统文件
    App测试需注意
    python-循环
    python-正则表达式
  • 原文地址:https://www.cnblogs.com/csudanli/p/5366333.html
Copyright © 2020-2023  润新知