[解決済み] std::arrayができた今、C言語の配列にはどんな使い道があるのでしょうか?
2023-03-10 05:23:28
疑問点
std::array
は、C言語の配列よりはるかに優れています。また、レガシーコードと相互運用したい場合でも、単に
std::array::data()
. 旧式の配列を必要とする理由はあるのでしょうか?
どのように解決するのですか?
私が何かを見逃していない限り (私は標準の最新の変更をあまり詳しく追っていません)、C スタイルの配列のほとんどの使用法はまだ残っています。
std::array
は静的な初期化を許可していますが、それでも初期化子を数えてはくれません。 そして、C スタイルの配列の唯一の本当の使用法は、以前の
std::array
のような静的初期化されたテーブルのためのものでした。
という行に沿ったものです。
MyStruct const table[] =
{
{ something1, otherthing1 },
// ...
};
を使い、通常の
begin
と
end
テンプレート関数(
C++11で採用) を使って反復処理します。 コンパイラが初期化子の数から判断するサイズには一切触れずに。
EDIT: もうひとつ忘れていたことがあります。文字列リテラルは依然として C スタイルの配列です。
char[]
. 文字列リテラルを使うことを排除する人はいないと思います。
std::array
.
関連
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] 配列の項目を別の配列にコピーする
-
[解決済み] C++のファンクターとその使い方とは?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】なぜC++プログラマは'new'の使用を最小限に抑えなければならないのでしょうか?
-
[解決済み] PHPの配列が連想配列か順次配列かを確認する方法は?
最新
-
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で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】C++でランダムな2倍数を生成する
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる