【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.19041

構造体のvector
投稿者---エビス丸(2005/01/05 14:41:53)


みなさんはじめまして。

さっそく質問なのですが、構造体のvectorを使い、
push_back()で、()の中身を、構造体の名前を指定するようにしたいのですが、
struct TBLAREA {
 int  A;
  char B; 
};
typedef vector<TBLAREA> tbl_dt;


typedef struct TBLAREA {
 int  A;
  char B; 
} tblarea;
vector<tblarea> tbl_dt;

の違いがわからず、難儀しております。
どなたかご指導いただけませんでしょうか。
よろしくお願いいたします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:構造体のvector 19042 エビス丸 2005/01/05 15:04:40
<子記事> Re:構造体のvector 19043 επιστημη 2005/01/05 15:16:54


No.19042

Re:構造体のvector
投稿者---エビス丸(2005/01/05 15:04:40)


うう、すみません
他のところが間違っているような気がしてきました。

上記の宣言の後、
 tbl_dt tbl;
   //中略
 tbl_dt.push_back(tbl);

としていました。
ここが悪いのかも知れません。

上記の質問と合わせて、よろしくお願いします。


この投稿にコメントする

削除パスワード

No.19043

Re:構造体のvector
投稿者---επιστημη(2005/01/05 15:16:54)


まったく違います。
前者 typedef は型の'別名'を定義するだけ。
後者は vector<tblarea> 型の'変数'を作っています。



この投稿にコメントする

削除パスワード

No.19044

Re:構造体のvector
投稿者---エビス丸(2005/01/05 16:19:41)


επιστημηさんレスありがとうございます。
ご助言をもとにいろいろ考えてみました。
vector以前に構造体がわかってない、というのを痛感しております。
typedef struct TBLAREA {
 int  A;
  char B; 
} tblarea;
vector<tblarea> tbl_dt;

tblarea tbl;

/* tbl.A, tbl.B にデータをセット*/
tbl_dt.push_back(tbl);
ということかなと思います。
コンパイルの時点でけっつまづいてるので、デバックできてませんが、
がんばります。
次はイテレータだ(泣


この投稿にコメントする

削除パスワード

No.19045

Re:構造体のvector
投稿者---monkey(2005/01/05 16:37:57)


>コンパイルの時点でけっつまづいてるので、
>デバックできてませんが、
>がんばります。

どこでどんなコンパイルエラーになるのですか?
闇雲にがんばるのでなく、エラーの原因を一つずつ解明,解決していくのが良いと思います。

>次はイテレータだ(泣

泣くことないでしょ。楽しい && 楽ですよ、STLは。


この投稿にコメントする

削除パスワード

No.19046

Re:構造体のvector
投稿者---επιστημη(2005/01/05 16:40:28)


C++なら 構造体をtypedefする必要はありません。

struct tblarea {
 int A;
char B;
};

vector<tblarea> tbl_dt;
tblarea tbl;

/* tbl.A, tbl.B にデータをセット*/
tbl_dt.push_back(tbl);

>コンパイルの時点でけっつまづいてるので、デバックできてませんが、

デバック ではありません デバッグ(debug) です。



この投稿にコメントする

削除パスワード

No.19047

Re:構造体のvector
投稿者---エビス丸(2005/01/05 17:24:13)


monkeyさん、επιστημηさん、ありがとうございます。

構造体のtypedefですが、やってみましたが確かに必要ないのですね。
それからデバッグですが・・・プログラマとして恥ずかしい限りです^^;

イテレータに関しては、
vector::iterator itr; とか
tblrea::iterator itr; とかやってましたが、

vector<tblarea>::iterator itr; でした。
使い方に関しては今のところ問題ないかな、と思います。(itr)->A など。

最後に、現在つまずいているのは find なんですが、
まだ自力で調べていない(他のことやってました)ので、
後ほど、報告か質問させて頂きます^^;


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧