問題タブ [c++-standard-library]

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 投票する
3 に答える
172 参照

c++ - 2 次元空間のアイテムをメモリにマッピングする

2次元座標(符号付き短距離)で識別されるアイテムの数があります。すべてのアイテムは、64KB のデータを含むクラスです。常時500~1500点ほどの商品がございます。アイテムは通常、ポイントの周りに ~ 20 のグループになっています。私の質問は、メモリをあまり消費しないようにどのようにマップすればよいかということです。アイテムはゆっくりと追加/削除され (1 秒あたり 1 ~ 10)、非常に頻繁にフェッチされるため、リストからの要素 (より大きな構造へのポインター) のフェッチはできるだけ高速にする必要があります。

私が思いついたのは、いくつかの gridContainer クラスがあり、64x64 ポインターの四角形を格納するとしましょう。他の gridContainer を格納するメイン グリッド コンテナーがあり、このネストされた gridContainer は、マップする実際のアイテムを格納します (これにより、4096x4096 の実際のアイテムが許可されます)。[260, 130] などの特定のアイテムにアクセスするには、それを 64 で割り、商をとって親 gridContainer の位置を見つけ、余りをとってネストされた gridContainer の位置を見つけます。したがって、[270,145] の場合、[4,2] と [14,17] になります。

私も使おうと思っていたのstd::mapですが、中身がわからず、どんな性能が期待できるのかもわかりません。

私の方法に関する提案、またはそれを行うためのより良い方法はありますか?

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

c++ - 入力イテレータと読み取り専用のフォワードイテレータの違いは何ですか?

入力イテレータと読み取り専用のフォワードイテレータの違いは何ですか?

後者は読み取り専用であるため、明らかに出力イテレータの要件を満たしていません。そして、そのため、追加の保証(ある場合)を備えた入力イテレータを効果的に使用できます。問題は、どのような追加の保証ですか?

私の推測では、フォワードイテレータはマルチパスであり、入力イテレータはそうではありません。

0 投票する
4 に答える
24627 参照

c++ - GCC リンカは標準ライブラリを見つけられませんか?

XCode で学校のプロジェクトを開発しています。最終製品はメイクファイルを含むソース コードで提出する必要があるため、作業コピーがあることを確認するために、メイクファイルを作成し、その方法でコンパイルを開始しました。これが私のメイクファイルです:

各オブジェクト ファイルのコンパイルは正常に機能しますが、「すべて」のリンク手順になると、標準ライブラリを認識していないように見えます。「cin」から「basic_string」、「operator new」までのすべてで「未定義のシンボル」エラーが発生します。

これらのことは直接示す必要はないと思っていましたし、実際に過去にそうする必要はありませんでした。

何が起こっているのでしょうか?

編集:

それが役立つ場合、これが(非常に長い)エラーメッセージの始まりです:

0 投票する
3 に答える
660 参照

c++ - C++標準ライブラリをC++で実装する必要がありますか?

  1. 準拠するC++標準ライブラリの実装をC++で実装する必要がありますか?
  2. そうでない場合、純粋なC ++と標準ライブラリおよび実装で定義された動作では実行できない魔法のことを実行できますか?

  • 拡張機能に依存する並列実装があることは知っていますが(少なくともC ++ 11より前では)、それらは本当に準拠していますか?
  • 標準に要件が見つかりませんでしたが、おそらく私の標準fuは今日弱いです
0 投票する
1 に答える
93 参照

c++ - 実際に要素を挿入せずに、要素がstd::mapのどこに挿入されるかを見つける方法

std::map実際に要素を挿入せずに、要素がに挿入されるイテレータを簡単に見つける方法はありますか?

0 投票する
4 に答える
1773 参照

c++ - コンパイラーは、テキスト ">" が予期しない C++ XLC であると叫びます

ヘッダーファイルで関数を宣言しました。

理由はわかりませんが、コンパイラはこの行についてうめき声を上げ、"The Text ">"予期しないと言います。

AIX 5.3 と XLC/VAC コンパイラを使用しています。関数の定義にも何か問題があるのか​​もしれませんが、マップが機能するためには、マップが保持している型を認識している必要があると想定しました。

問題のある行を以下に示します。

これは関数の正しい宣言だと思います

以下で提案されているように、typedef を定義しましたが、残念ながら、これは問題をシフトするだけで、typedef の行で同じエラーが発生します。

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

haskell - Haskell FFI: C++ コレクションをどのようにラップしますか?

を返す関数がありますvector<MyClass>。これをFFIに適したものに変更する最良の方法は何ですか?

:: [CIntPointer]可能であれば、次のようなタイプが良い妥協案になるかもしれないと考えています。

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

c++ - std::reference_wrapperのVisualC++10.0のバグ?

コード:

MinGW g ++ 4.6.1での結果:

/blockquote>

Visual C ++ 10.0での結果:

/blockquote>

Visual C ++コンパイラが、抽象クラスをインスタンス化できないことを11回ユーザーに通知する方法が気に入っています。たとえば、ユーザーが気付いていない場合に備えて、要点を理解するだけです。しかし、std::reference_wrapper本当にクラスをインスタンス化する必要がありますか?インスタンス化を必要としないという参照(通過)のポイントの多くはありませんか?

つまり、これは、私が強く疑うように、Visual C ++標準ライブラリの実装のバグですか?

0 投票する
4 に答える
2418 参照

c++ - C++ UNICODE と STL

UNICODEVisual C++ で新しいプロジェクトを作成すると、デフォルトで に設定されUNICODEます。
そして、優れた Windows プログラマーになろうとしている私は、 を使いたいと思っていますUNICODE

問題は、C++ 標準ライブラリと STL ( std::stringstd::runtime_errorなど) が文字列でうまく機能しないことですUNICODEstd::string、または achar*std::runtime_errorに渡すことしかできません。 std::stringがサポートしていないと確信していUNICODEます。

私の質問は、std::runtime_errorなどをどのように使用すればよいですか? UNICODEレギュラーとミックスするべきANSI?(これは悪い考えだと思います...)プロジェクト全体で
使用するだけですか?ANSI(好まない..)または何?

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

c++ - VisualC++標準ライブラリのキーワード

std::exceptionとstd::runtime_errorのユニコードバージョンを書きたかったのです。
そこで、C ++標準ライブラリから実装を取得し、Unicodeをサポートするように変更するよりも良い方法を考えました。

そこで、Visual C ++で例外ヘッダーとstdexceptヘッダーを取得し、コードをコピーして、変更を加えました。

問題は、を削除しない限り、リンクを取得できなかったこと_CRTIMP_PUREです。_EXCEPTION_INLINE __CLR_OR_THIS_CALLまた、すべてのメンバー関数からプレフィックスを削除しました。

それは機能していますが、私はそれらすべてが何をしたのか非常に興味があります。
_EXCEPTION_INLINEそれは文字通りそのすぐ上にあると定義されており#define _EXCEPTION_INLINE、私のグーグルスキルは彼らが何をしているのかについてのドキュメントを見つけることができません。

それで、誰かがこれらが何をすることを意味するのか知っていますか?_CRTIMP_PUREそして、クラスからプレフィックスを削除するまでリンクされないのはなぜですか?