生の配列のと連携

http://www.geocities.jp/ky_webid/cpp/library/002.html

配列を要求している関数にvectorの配列を渡したい場合にどうすればよいのかというお話。

vectorの[]演算子オーバーロードを利用した配列の一番目のアドレスを渡せばよいだけです。

#include <iostream>
#include <vector>
using namespace std;

void print_array(int* array,size_t size) {
    for(size_t i=0;i<size;++i ) {
        cout << array[i] << endl;
    }
}

int main () {
    vector<int> array;
    for(int i=0;i<5;++i) {
        array.push_back(i);
    }
    
    print_array(&array[0],array.size());
    return 0;
}
$ main
0
1
2
3
4