問題タブ [tr1]
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++ - UbuntuでTR1をリンクしますか?
std :: tr1 :: regexを使用してクラスを作成しましたが、リンクする方法がわかりません。私は(大きなダンプでごめんなさい...)を取得します:
何に対してリンクする必要がありますか?
c++ - 本番環境で std::tr1 を使用する価値はありますか?
私は MS VC 2008 を使用しており、一部のプロジェクトでは Intel C++ コンパイラ 11.0 を使用しています。本番環境で tr1 機能を使用する価値はありますか? 彼らは新しい基準にとどまりますか?
たとえば、今は を使用していますstdext::hash_map
。TR1 は を定義しますstd::tr1::unordered_map
。しかし、MS の実装unordered_map
は彼らのものstdext::hash_map
であり、別の方法でテンプレート化されています。
c++ - 他の文字列で文字列にインデックスを付ける
特定の文字列を他の文字列でインデックス付けする必要がありますが、そのための良い方法が本当に見つかりません。tr1::unordered_map を使用しようとしましたが、使用に問題があります。誰かがそれを行うための最良の方法を教えてくれたら、本当に感謝しています:)オブジェクトを番号でインデックス付けする必要もあります(番号は順番に並んでいないため、ベクトルを使用できません)
c++ - reference_wrappers のコンテナー (比較演算子が必要ですか?)
stl コンテナーを POD 型の reference_wrappers と一緒に使用する場合、次のようなコードは正常に機能します。
ただし、(不自然な例) のような非 POD タイプを使用する場合:
上記の比較演算子を宣言するだけでは十分ではなく、さらに次のように宣言する必要があります。
そしておそらくまた:
同等のコードを動作させるには:
今、これが本当に意図された方法なのかどうか疑問に思っています。テンプレートなど、より単純なソリューションがあるはずです。
reference_wrapper がそのように動作するのには、おそらく十分な理由があります (おそらく、比較演算子のない非 POD 型に対応するため?)。たぶん、すでにエレガントなソリューションがあり、私はそれを見つけていません。
c++ - タプルを含めるときの型の問題
Feature Pack 1 で Visual Studio 2008 を使用しています。
typedef std::tr1::tuple<std::string, std::string, int> tileInfo
私はこのような関数でこのようなtypedefを持っていますconst tileInfo& GetTile( int x, int y ) const
。
実装ファイルでは、関数にまったく同じシグネチャ (クラス名修飾子が追加されている) があり、redefinition: different type modifiers
エラーが発生しています。int&
a の代わりに aを探しているようですtileInfo&
ヘッダーの関数のタイプにマウスを合わせるtileInfo&
と、小さなバーが表示されますstatic const int tileInfo
。これが問題かもしれないと思いますが、どうすればよいかわかりません。コンパイラstd::tr1::tuple<std::string, std::string, int>
がstatic const int
.
どんな助けでも大歓迎です、ありがとう。
PSこれは、同じ状況をエミュレートする例で、最小限に圧縮されています。
c++ - 二項分布による乱数
劇的に異なる試行サイズ (ただし、ほとんどは小さい) の二項分布から多数の乱数をすばやく生成する必要があります。私は初心者のプログラマーであり、車輪の再発明が好きではないので、手動でアルゴリズムをコーディングする必要がないことを望んでいました (たとえば、11 月のこの関連ディスカッションを参照してください)。Boostは二項分布変量のジェネレーターを提供していないようですが、TR1とGSL行う。どちらかを選択する正当な理由はありますか、それとも自分の状況に合わせてカスタマイズしたものを書く方がよいでしょうか? これが理にかなっているのかどうかはわかりませんが、プログラム全体で一様分布と二項分布から数値を生成することを交互に行い、それらが同じシードを共有し、オーバーヘッドを最小限に抑えたいと考えています。私が考慮すべきことについて、いくつかのアドバイスや例が欲しいです。
c++ - reference_wrapper と呼び出し可能なオブジェクトについて
次の呼び出し可能オブジェクトがあるとします。
astd::tr1::reference_wrapper<>
はそれを介して呼び出します。
代わりに、 がoperator()
引数を受け入れる場合:
std::tr1::bind
reference_wrapper を呼び出し可能なラッパーとして受け入れます...
しかし、これの何が問題なのですか?
g++-4.4 は次のエラーでコンパイルに失敗します:
c++ - tr1 ヘッダーは gcc v3.4.6 で利用できますか?
g++ v3.4.6 で tr1 ヘッダーを使用できますか? もしそうなら、どうすればコンパイル時にそれらを見つけることができますか?
以下はコンパイルに失敗しています:
次のエラーが発生します。
より新しいコンパイラに移行する必要がありますか、それともヘッダーをどこかに持っていますか?
c++ - std::tr1::function の適切なデフォルトはありますか?
グーグルでしばらく時間を費やしましたが、実際には何も見つかりませんでした。私はこれを行うことができるようにしたい:
そうでなければ、私はこれをしなければなりません:
何もしない関数を作成できることはわかっていますが、関数にnullオブジェクトパターンの値が与えられたかどうかを確認するためのチェックを処理する必要がない標準的な方法を探しています。
c++ - std::tr1::shared_ptr<>.reset() が非常に高価なのはなぜですか?
shared_ptrs を多用するコードのプロファイリングを行ったところ、reset() が驚くほど高価であることがわかりました。
例えば:
最後の行 (VC++ 2010 で) の reset() をトレースすると、新しい参照カウント オブジェクトが作成されることがわかりました。
既存の参照カウントを再利用し、ヒープを気にしない安価な方法はありますか?