半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

float* => vector<float>

#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

もうちょいスマートなのあったらおしえてください