[解決済み】C++で配列の全要素を1つのデフォルト値で初期化する?
2022-03-31 22:25:21
質問
C++のノート。配列の初期化 には、配列の初期化に関する素晴らしいリストがあります。私は
int array[100] = {-1};
1で埋め尽くされると思っていたが、そうではなく、最初の値だけがそうで、残りは0とランダムな値が混ざっている。
コード
int array[100] = {0};
は正常に動作し、各要素に0をセットします。
何を見逃しているのでしょうか... 値がゼロでない場合は初期化できないのですか?
そして2:デフォルトの初期化(上記のように)は、配列全体をループして値を代入する通常の方法よりも速いですか、それとも同じことをするのですか?
どのように解決するのですか?
使用した構文で
int array[100] = {-1};
は、最初の要素を
-1
で、残りは
0
に設定されるため、省略された要素はすべて
0
.
C++では、それらを全て設定するには
-1
を使用すると、次のようになります。
std::fill_n
から
<algorithm>
):
std::fill_n(array, 100, -1);
ポータブルC言語では、自分でループを巻かなければなりません。コンパイラによる拡張もあるし、実装で定義された動作に依存するのも手だ。
関連
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] ArrayListの初期化を1行で行う。
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] 配列を値でコピーする
-
[解決済み] Javascriptで配列から空の要素を削除する
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】'cout'は型名ではない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] C++でnew演算子を使ってメモリを初期化する方法は?