【初心者歓迎】C/C++室 Ver.82【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0428デフォルトの名無しさん
2013/02/23(土) 13:14:44.11string mykey;
int myval;
//...and other member
public:
MY(string key) : mykey(key) {};
setval(int x) { myval=x };
};
void func() {
map<string,MY> xxx;
vector<MY *> yyy;
while() {
data* = getdata(); //ランダムにデータ取得
string key = data->getkey(); //上記のデータよりキー生成
MY my(key);
int val = data->getvalue();
my.setval(val);
it = xxx.insert(it, pair<string,MY>(key,my));
if(val==0) yyy.push_back(&it->second)
}
}
みたいな事をやりたいのですが、
コンストラクタ、コピーコンストラクタを減らすにはどうすればいいかな?
そんな事考えずにガンガン生成するもの?(ループ内のkey,my,pair辺り)
あとyyyに追加するmap内のMYのアドレスはmapから明示的に消さない限り安全なのでしょうか?
(xxx内のMY.myvalが0のMYの一覧を後で知りたい)
■ このスレッドは過去ログ倉庫に格納されています