問題タブ [stdarray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - std::array と従来の array[] ..それはどのように機能しますか?
std::array
C++11 に付属するこの驚くべき新機能について読み続けています。それは、..メモリに関してはstd::array<int, 4> a;
軽量であり、..読み取りと書き込みに関しては高速であり、メモリ管理に関する限り、より安全であるように見えます.. そして、それを反復することさえできます.. そして素敵な初期化子を使用してください..int a[4];
思わず「え、でも…どこに引っかかるの?」と思います。それは一体どのように機能しますか?このstd::array<int,4> a
物体は何ですか?これほど多くの新機能を導入するコストはどこにあるのでしょうか? C++ 作成者の汗ですか? 言語実装の重みは増していますか? コンパイラの作業が増える?どうしてこんなに素晴らしいことができるの?何か足りないだけですか?
実行時にコストをかけずに、これらすべての機能を従来の配列に追加するにはどうすればよいでしょうか? 答えは、コンパイルの努力が功std::array
を奏し、私にとってもはや奇跡ではなく..ただの喜びだということのようです。
c++ - std::array から std::vector への変換
以下のコードでは、関数 (foo) の引数 ( std::vector
) のサイズは、関数を一般的なものにするために任意のサイズにすることができます。ただし、コンテナーのサイズがわかっている場合があるため、 std::array を使用できます。問題は、 を に変換するstd::array
ことstd::vector
です。この問題を解決する最善の方法は何ですか? std::vector
この場合、常に使用する方が良いですか?
c++ - std::array の位置からの比較 (および) 挿入 (挿入)
私はstd::array
いくつかのアイテムを持っていて、特定の位置から比較したり、特定の位置に挿入したりしたいと考えています。
項目 5 から最後の項目までの配列番号を、最初から位置 0 から位置 4 までの配列番号と比較したいと思います。
(この場合) true を返します。
そして、ポジションからアイテムを挿入する方法は? 配列に挿入して、位置 5 から最後の位置、つまり 9 まで比較します。
たとえば、5、45、32、14、10 の数字を挿入すると、次のようになります。
前もって感謝します。
c++ - std::array 初期化子は char に対してどのように機能しますか?
次のコードがどのように機能するかわかりません。私はあなたがしなければならないと思った{'h', 'e' ...etc...}
が、それはうまくいくようだ。一方、std::array<const char*
そうすると、配列に要素が1つだけ追加されます。文字列リテラルの初期化に特別なルールはありますか?
c++11 - クラス外の定義なしで static constexpr std::array にアクセスする
いくつかの配列を定義するクラスがあります。
ポイント.hpp
次に、メイン ファイルでこれらの配列を使用します。
main.cpp
C++11 と g++ 4.8.2 を使用してコードをコンパイルすると、次のリンカ エラーが発生します。
コンパイラがそこからオブジェクト ファイルを作成できるように、Points.cpp ファイルを作成しようとしました。
ポイント.cpp
しかし、それはリンカーエラーを修正しませんでした.
この質問に示すように、クラス宣言で C++ 11 の静的 constexpr として変数を初期化し、私が行っている方法で変数にアクセスできるという印象を受けました: https://stackoverflow.com /a/24527701/1991500
Points のコンストラクタを作成してから、クラスをインスタンス化する必要がありますか? 私は何を間違っていますか?
どんなフィードバックでも大歓迎です! ありがとう!
c++ - 長さ 0 の配列 (または std::array) の用途は何ですか?
C++11 では、次のような0
長さの C 配列を作成できます。std:array
- だから、保存するスペースがない配列の用途は何だと思いますか?
- 第二に、長さゼロの配列とは何ですか? ポインターの場合、どこを指していますか?