javaではcopyintoで固定長配列へ代入できたのですが、
C++でそれに該当するものが見つからず、
newで確保した領域へmemcpyも試してみたのですが、
うまく行きませんでした。
コピー元はvector<RGBQUAD> v_rgbBMP;
コピー先はRGBQUAD *rgbMemBMP;
要素数カウンタをnCntとすると
rgbMemBMP = new RGBQUAD[nCnt];
memcpy(rgbMemBMP, v_rgbBMP, sizeof(v_rgbBMP));
でエラーが
error C2664: 'memcpy' : 2 番目の引数を 'class std::vector<struct tagRGBQUAD,class std::allocator<struct tagRGBQUAD> >' から 'const void *' に変換できません。
ご覧のとおりSTLをよく理解しないまま、
とりあえず通常配列と同様に扱おうとして失敗しました。
現在はforで配列要素を一つ一つ代入しているのですが、
その処理は大量の画像をまとめる処理を行う核で使用しており、
何度も通過する為、できれば直接代入したいのですが、
何かよい手は無いでしょうか?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
普通は #1 の copy だけど, 第2引数を v_rgbBMP から &v_rgbBMP[0] にすれば memcpy でも OK だと思う.
あ, 第3引数も適切に変えてね.
memcpyが高速だと言う記述をよく目にするのですが
#1のcopy()と比べて、どうなんでしょうか?
ご存知でしたら参考までにご教授ください。
No.3
- 回答日時:
>memcpyが高速だと言う記述をよく目にするのですが
>#1のcopy()と比べて、どうなんでしょうか?
copy() で十分早い。きっとボトルネックはそこではない。
vector<T> を直接 memcpy でコピーするのは実装依存のような気もする。
# 普通は配列として実装されてると思いますけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- JavaScript 配列の1要素を代入した変数を使って元の配列要素を削除できるか 1 2023/07/28 03:34
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
二次元配列のインデックスについて
-
Strawberry Perl for Windows ...
-
Perlで<select multiple>の複数...
-
エクセルVBAでTransposeの不思議
-
Excel VBA ユーザーフォームの...
-
一致する要素が格納されている...
-
2次元配列の扱い
-
文字の整列(printf)
-
perl 配列名変数指定するには
-
perlで2次元配列をサブルーチ...
-
perlで配列の要素が空なのを知...
-
リストボックスに縦スクロール...
-
perl このテキストファイルを簡...
-
プログラミングについて。 1つ...
-
文字列を変数名として扱う方法
-
どなたかこのプログラミングを...
-
ネットワークループとルーティ...
-
perlでファイルの拡張子を除い...
-
VBAでの一時停止と再開の方法
-
画面を強制的に再描画させる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
二次元配列のインデックスについて
-
リストボックスに縦スクロール...
-
Excel VBA ユーザーフォームの...
-
マクロ Publicでの配列定義
-
エクセルVBAでTransposeの不思議
-
二次元配列における要素数のは...
-
Strawberry Perl for Windows ...
-
perlで2次元配列をサブルーチ...
-
クラスに配列を渡す方法
-
Dim flag(4) as boolean で配列...
-
文字の整列(printf)
-
perlで配列の要素が空なのを知...
-
jcode->jfold で禁則処理
-
VB6で配列の最大値を簡単に求め...
-
perl 配列の要素数について
-
ファイル名に日付・時刻を付与...
-
チェックボックスのperlでの値...
-
組み合わせについての質問です...
-
配列を初期化する時ってどうす...
おすすめ情報