問題タブ [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.

0 投票する
0 に答える
1006 参照

c++ - std::array と従来の array[] ..それはどのように機能しますか?

std::arrayC++11 に付属するこの驚くべき新機能について読み続けています。それは、..メモリに関してはstd::array<int, 4> a;軽量であり、..読み取りと書き込みに関しては高速であり、メモリ管理に関する限り、より安全であるように見えます.. そして、それを反復することさえできます.. そして素敵な初期化子を使用してください..int a[4];

思わず「え、でも…どこに引っかかるの?」と思います。それは一体どのように機能しますか?このstd::array<int,4> a物体は何ですか?これほど多くの新機能を導入するコストはどこにあるのでしょうか? C++ 作成者のですか? 言語実装の重みは増していますか? コンパイラの作業が増える?どうしてこんなに素晴らしいことができるの?何か足りないだけですか?

実行時にコストをかけずに、これらすべての機能を従来の配列に追加するにはどうすればよいでしょうか? 答えは、コンパイルの努力が功std::arrayを奏し、私にとってもはや奇跡ではなく..ただの喜びだということのようです。

0 投票する
2 に答える
4383 参照

c++ - std::array から std::vector への変換

以下のコードでは、関数 (foo) の引数 ( std::vector) のサイズは、関数を一般的なものにするために任意のサイズにすることができます。ただし、コンテナーのサイズがわかっている場合があるため、 std::array を使用できます。問題は、 を に変換するstd::arrayことstd::vectorです。この問題を解決する最善の方法は何ですか? std::vectorこの場合、常に使用する方が良いですか?

0 投票する
0 に答える
162 参照

c++ - std::array の位置からの比較 (および) 挿入 (挿入)

私はstd::arrayいくつかのアイテムを持っていて、特定の位置から比較したり、特定の位置に挿入したりしたいと考えています。

項目 5 から最後の項目までの配列番号を、最初から位置 0 から位置 4 までの配列番号と比較したいと思います。

(この場合) true を返します。

そして、ポジションからアイテムを挿入する方法は? 配列に挿入して、位置 5 から最後の位置、つまり 9 まで比較します。

たとえば、5、45、32、14、10 の数字を挿入すると、次のようになります。

前もって感謝します。

0 投票する
2 に答える
5523 参照

c++ - std::array 初期化子は char に対してどのように機能しますか?

次のコードがどのように機能するかわかりません。私はあなたがしなければならないと思った{'h', 'e' ...etc...}が、それはうまくいくようだ。一方、std::array<const char*そうすると、配列に要素が1つだけ追加されます。文字列リテラルの初期化に特別なルールはありますか?

0 投票する
1 に答える
2591 参照

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 のコンストラクタを作成してから、クラスをインスタンス化する必要がありますか? 私は何を間違っていますか?

どんなフィードバックでも大歓迎です! ありがとう!

0 投票する
1 に答える
1678 参照

c++ - 長さ 0 の配列 (または std::array) の用途は何ですか?

C++11 では、次のような0長さの C 配列を作成できます。std:array

  1. だから、保存するスペースがない配列の用途は何だと思いますか?
  2. 第二に、長さゼロの配列とは何ですか? ポインターの場合、どこを指していますか?