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

半空洞男女関係

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

レッツプッシュ購読

float* => vector<float>

C++ プログラミング
#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

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