読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

[cpp] std::vectorを配列の引数に渡す

cpp

配列を引数にとる関数にstd::vectorを渡すときは

&v[0]
&v.front()

のどちらかを使えばよい。サンプルコード

#include <iostream>
#include <vector>

void Show(const int* array, int size) {
    for(int i = 0; i < size; ++i) {
        std::cout << array[i] << ' ';
    }
    std::cout << std::endl;
}


int main() {
    std::vector<int> v(10);

    for(size_t i = 0, size = v.size(); i < size; ++i) {
        v[i] = i * i;
    }

    Show(&v.front(), v.size());
}

追記 5/24

id:bolerosさん、id:rhysdさんからコメントいただきました。ありがとうございます。
C++03以降では

v.data()

を使って

    Show(v.data(), v.size());

とすればいいようです。