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;
    }
  • 相关阅读:
    九度-题目1197:奇偶校验
    九度-题目1073:杨辉三角形
    九度-题目1072:有多少不同的面值组合?
    同步异步,阻塞非阻塞
    注解方式配置bean
    监听器
    自定义系统初始化器
    构建流
    数值流
    流的使用
  • 原文地址:https://www.cnblogs.com/csudanli/p/5366333.html
Copyright © 2011-2022 走看看