#include <vector> #include <iostream> using namespace std; int main() { float data[] = {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0}; // 例えばコールバックで float* が渡されるとする // 音声なので長さがわかっている(ここでは10) float* p = data; int length = 10; // vecDataに格納したい vector<float> vecData; // assign! vecData.assign(p, p + length); // 確認してみる for(float f : vecData) { cout << f << endl; } }
結果
Untitled.cpp:21:15: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(float f : vecData) { ^ 1 warning generated. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 0.8 1.9 2
もうちょいスマートなのあったらおしえてください