#include <iostream>
#include <vector>
#include <array>
#include <stdio.h>
#include "stlav_make_unique.hpp"

using namespace std;
typedef array<int,1000>  LargeArray  ;

int main()
{
    vector<unique_ptr<LargeArray > > vec ;
    unique_ptr<LargeArray > p = fut_stl::make_unique<LargeArray >();
    vec.push_back(std::move(p) ) ;
    vec.push_back(std::move(fut_stl::make_unique<LargeArray >()) ) ;


    int vecsize , arraysize;
    vecsize = vec.size() ;
    arraysize =  vec[0]->size() ;
    cout << "vec.size=" << vecsize << endl ;
    cout << "LargeArray.size=" << arraysize << endl ;

    for(int idx=0;idx<vecsize;idx++)
    {
        LargeArray* p = vec[idx].get() ;
        for(int idy=0;idy<arraysize;idy++)
            (*p)[idy] = idx + idy ;
    }

    cout << (*vec[0])[0] << " " << (*vec[0])[arraysize-1] << endl ;
    cout << (*vec[1])[0] << " " << (*vec[1])[arraysize-1] << endl ;
}

 

[test]$ g++ --std=c++0x vector_template2.cpp -o vector_template2.exe
[test]$ ./vector_template2.exe
vec.size=2
LargeArray.size=1000
0 999
1 1000

 

arrow
arrow
    全站熱搜

    hedgezzz 發表在 痞客邦 留言(0) 人氣()