[解決済み] int[4]をstd::array<int,4>に変換するには?重複
2022-02-09 23:56:14
質問
言語組み込みの配列があり、その要素をコンテナ・ライブラリの配列にコピーして処理する必要があります。いくつか試してみたのですが、うまくいかないようです。ある型を別の型に変換する方法はないのでしょうか?
言語組み込み配列は、次のように宣言されています。
int arr[] = {1,12,343,54,99};
と宣言されているのに対して、ライブラリコンテナ配列は
std::array<int,4> myarray = {4, 26, 80, 14} ;
std::arrayはヘッダーの下で宣言されています。
<array>
.
解決方法は?
C++20の場合、以下のようになります。
std::to_array
はそのためのものです。
int arr[] = {1,12,343,54};
std::array<int,4> myarray = std::to_array(arr); // could use "auto myarray" instead
C++20以前は、このように
std::copy
または
std::move
要素タイプがコピー不可、またはコピーにコストがかかる場合。
int arr[] = {1,12,343,54};
std::array<int, 4> myarray;
std::copy(arr, arr+4, myarray.begin());
// or
std::copy(std::begin(arr), std::end(arr), myarray.begin());
関連
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み】変数やフィールドがvoid宣言されている