C++言語でプログラミングをしています。
大きな(可変サイズの)木構造をメモリ上に作るためにクラスへのポインタを要素に持つ配列
std::vector<T*> vector1; (Tは定義済みのクラス)を与えて管理しています。
木のコピーを作るときに、
for(i= 0;i < vector1.size();i++)//vector1の内容をvector2へコピー
{
vector2.push_back(new T(*(vector1[i])));
}
//ここで T::T(const T&) コピーコンストラクタが定義済み
for(i= vector1.begin();i!= vector1.end();i++)//vector1の内容を削除
{
delete (*i);
}
vector1.clear();
のような処理を実行したり、
for(i= vector1.begin();i!= vector1.end();i++)//各要素について T のメンバ関数を実行
{
(*i) -> f(x);
}
//ここで T::f( 何らかのパラメータ ) が与えられているとする。
のようにメンバ関数を順次実行する処理をあちこちに書いているのですが、
これをテンプレートなどの形でまとめる方法ってないものでしょうか?
No.1ベストアンサー
- 回答日時:
コンパイラがC++11対応ならどれも for_each と ラムダ式で実装できます。
for_each(v1.begin(), v1.end(), [&](T* x) { v2.push_back(new T(*x));});
など。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてください 9 2022/04/22 18:50
- ブルーレイ・プレーヤー・レコーダー BD-REについて教えてください。 3 2022/11/10 23:28
- C言語・C++・C# このプログラミング誰か教えてください。 2 2022/04/22 18:48
- フリーソフト Vector フリーソフト 卓上カレンダー Windows10での作動は? 2 2022/06/11 19:03
- その他(言語学・言語) 「ベクトル」ってなんか抵抗ありませんか?「ヴェクトル」のほうがよくありませんか? 9 2023/01/01 10:50
- ガスコンロ・IHクッキングヒーター・給湯器 コンテンツブロッカーについて 2 2023/05/17 09:43
- 画像編集・動画編集・音楽編集 PhotoScape という画像加工ソフトについて教えてください 3 2023/08/23 21:22
- 数学 面素ベクトルについて質問です 位置ベクトル r↑=(x,y,f(x,y)) とすると ds↑=(∂r 2 2023/03/21 17:17
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
大量のデータを読み込んで表示...
-
C言語の関数と配列に関する質問
-
質問失礼します。 プログラム言...
-
VisualStudio2022でC言語プログ...
-
c言語
-
double型が正常に認識されてい...
-
c言語
-
システムエンジニアの適正について
-
MACで動く実行ファイルをWindow...
-
gcc13.2のバグ?
-
Notepad++の関数リスト表示でC...
-
gccを行ってもexeファイルが生...
-
トリプトファンってケト原性あ...
-
C言語 列挙型(enum型)変数について
-
C言語 配列と関数の練習問題
-
Bitcoin、BTCはブロックチェー...
-
これなにがちがうんですか??
-
だいがくの電し書籍で
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
関数定義について質問です 架空...
-
TextChangeイベントが発生しない
-
#define 文
-
LRESULTとHRESULT
-
ifdefとenum
-
fetchでreturnで戻り値
-
時間差を取得結果を求めるには
-
PHP + MySQL で登録時に重複チ...
-
jQueryの関数内の変数について...
-
VBS 名前定義の確認→ありかなし...
-
char[]とchar*
-
アクティブなウィンドウのみ、...
-
jQuery でドット含むカスタムイ...
-
関数内でのグローバル変数
-
【javaScript】KeyboardEventで...
-
VB.NET の配列の要素数
-
変な質問ですみません、n番目の...
-
c++ cmathとmath.h
おすすめ情報