スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[C++] 動的配列

画像処理をやる必要があって、C++でやろうと思ったけど、
最近C++いじってない。。。
動的配列ってどうやるんだっけ?と思い調べたので、φ(`д´)メモメモ...。

STLに含まれるvectorを使うといいみたいw
今回、画像処理なので、画像のポイントを取得する処理を書いてみます。
といっても、ただポイント構造体を定義して、vectorに入れてるだけだけど・・・。

MyImage.h


#include <stdio.h>
#include "stdafx.h"
#include <string>
#include <vector>

using namespace std;

class MyImage
{
public:
// コンストラクタ (画像パス,,,このサンプルでは使わないけど)
MyImage(string path);
// デストラクタ
~MyImage(void);

// ポイント構造体
struct Point {
int x;
int y;
};

private:
// パス
string imgpath;
// ポイントを取得する(今回はこれがメイン)
vector getPoint();
};




MyImage.cpp


#include "MyImage.h"
MyImage::MyImage(string path)
{
imgpath = path;

}

MyImage::~MyImage(void)
{
}

vector MyImage::getPoint(){
vector points;

for(int y = 0 y < 10 ; y++){
for(int x = 0 ; x < 10 ; x++){
Point pt;
pt.x = x;
pt.y = y;
points.push_back(pt);
}
}

return points;
}



と、まぁ適当だけどこんな感じ。
ちなみにvectorには、以下の様な関数も用意されている。

イテレータ
begin() 最初のイテレータを取得
end() 最後のイテレータを取得
rbegin() 最初のリバースイテレータを取得
rend() 最後のリバースイテレータを取得

キャパシティ
size() 要素数を取得
resize() サイズ変更
max_size() 最大要素数

要素
at() 指定した値を取得
front() 最初の値を取得
back() 最後の値を取得

その他
clear() クリア
empty() 空かどうか
erase() 指定した値の削除
get_allocator() アロケータを取得
insert() 挿入
pop_back() 最後の値を削除
push_back() 要素を追加
swap() ベクタを入れ替える?


詳細は以下のリンクを参考にしてください。
イテレータも使えるんだぁ~。


<参考>
C++編(標準ライブラリ) 第2章 vector
c++ vector

スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

ss_9

名前 :ss_9
紹介 :
20代はエンジニア、30代はプロ、40代は管理、50代は人脈。

Twitterボタン

最新記事
カテゴリ
AD
月別アーカイブ
RSSリンクの表示
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。