zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    缺省源
    MySQL曹操外卖一
    MySQL曹操外卖二
    正确使用MySQL外键约束
    html大部分实用标签(结构型)
    html超级基础标签
    我的简单作业
    章节课程复习笔记
    FC超级玛丽研究(NES游戏)
    二维码生成
  • 原文地址:https://www.cnblogs.com/csudanli/p/5366333.html
Copyright © 2011-2022 走看看