問題タブ [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++ - コンパイラは、配列を特徴とするテンプレートの特殊化をどのように選択しますか?
std::tr1::extent テンプレートに出くわしたばかりで、戸惑いました。人生で配列型パラメーターを扱ったことがないので、それらがどのように機能するかわかりません。だから、gccからのコードを考えるとtype_traits
コンパイラはこれらの特殊化をどのように選択しますか? 2番目のタイプを選択するには、どのタイプに渡す必要がextent
ありますか?
c++ - 保存およびハッシュする最良の方法キー (C++)
私の目標は、(メモリ制限のない世界では) 約 10^5 x 10^5 で double で埋められる行列の最も関連性の高いエントリを格納するための効率的な構造を作成することです。行列は対称であるため、実際には (10^10)/2 の値のみが含まれます。
シミュレーションでエントリに何度もアクセスする必要があるため、高速検索が重要です。
構造を管理しやすくするために、使用される可能性が低いメンバーを削除します。インデックスが (int_x1, int_x2) の場合、たとえば x1 を含むすべてのペアを削除したいことがよくあります。
このタスクに最適な構造または構造のセットは何ですか? 2 つの int の適切なハッシュは何ですか?
移植性のために、Boost は避けたいと思います。私は現在、プログラムの他の場所で TR1 の unordered_map を使用しています。キーペアで unordered_map を再度使用することを考えていましたが、この方法でエントリを効率的に削除する方法がわかりません。また、適切なハッシュ関数がどのようになるかわかりません。
私は初心者のプログラマーなので、明白なことを述べてください。
regex - 正規表現パターンのヘルプが必要
生の文字列は次のようになります。
スラッシュに続くすべての RTF タグを "" 以外の空の文字列に置き換える正規表現パターンは何\unumbers
ですか? 結果は次のようになります。
"\\\\\\w+|\\{.*?\\}|\\}"
バックスラッシュとすべての中括弧に続くすべてを削除しようとしました。欠けている部分は次のようなものです\\!(\\\\u)
c++ - c++ xx が承認されると、名前空間 tr1 はどうなりますか?
VS2008 で tr1 名前空間を使用して何かを書いています。C++xx が承認されるとどうなりますか? これは、他の C++ リビジョンで以前に発生したことがありますか? tr1 のものはまだ機能しますか、それともすべてのインクルードを変更する必要がありますか? 私は、この批准がいつか実現するという非常に大きな仮定を立てていることを認識しています. MS で働いている人や GCC に貢献している人はおそらくいないと思いますが、この種の変更の経験がある場合は、アドバイスをいただければ幸いです。
c++ - C++ TR1 正規表現でドット (.) を改行に一致させる方法はありますか?
http://msdn.microsoft.com/en-us/library/bb982727.aspxでこれに関する情報を見つけることができませんでした。
'[^]+' を使用してすべてに一致させることができるかもしれませんが、それはハックのように思えますか?
ありがとう。
c++ - C++STLコンテナ内のNULLポインタ
残念ながら、私は自分で開発したプログラムに完全に取り組んでいません。最近、unordered_setへのポインターの単純な挿入から呼び出されたunordered_setの演算子でVisualStudioの致命的なエラーに気づきました。ローカルを確認した後、セットには2つの要素しかなく、最後の要素がNULLであることに気付きました(したがって、それがクラッシュしたと思います)。ここで質問に移ります。unordered_set(または他のSTLコンテナ)がその要素の1つとしてNULLポインタを(理論的に)取得するにはどうすればよいですか。プログラムはマルチスレッドですが、私のレビューによると、コードのその部分には1つのスレッドからのみアクセスする必要があります。ありがとう。
興味のある人のためにスタックとソースコードの一部を呼び出します: http://privatepaste.com/c8e7f35a4e(PushToProcessedはオブジェクト自体から呼び出され、それ自体への参照を渡すため、NULLにすることはできません)
c++ - std::tr1::function (またはboost::function)でマルチキャストイベントを作成する
TR1 の機能を使用して、C# のようなマルチキャスト デリゲートとイベントを作成しようとしています。または Boost::function は (ほとんど) std::tr1::function と同じであるためです。概念実証として、私はこれを試しました:
どちらがうまくいきますか。ラインcallbacks.remove(func)
はそうではありません。コンパイルすると、次のエラーが発生します。
これは、関数list
内にあるヘッダーの 1194 行が原因です。remove
これは何が原因ですか?
c++ - tr1::関数 WINAPI
WINAPI 呼び出し規約で tr1::function を使用するにはどうすればよいですか? (少なくともWindowsでは)。Visual C++ 9 SP1 TR1またはBOOSTのものを使用できます...
c++ - C++ での map と unordered_map のパフォーマンスの違い
単純な要件があります。 type のマップが必要です。ただし、理論的に可能な最速の検索時間が必要です。
マップと、tr1 から新しく提案された unordered_map の両方を使用しました。少なくとも、ファイルを解析してマップを作成しているときに、要素を一度に挿入することでそれを発見しました。
unordered_map には 5 分かかりましたが、map には 2 分しかかかりませんでした。
これは Hadoop クラスターで実行されるコードの一部になり、最大 1 億のエントリが含まれるため、可能な限り短い取得時間が必要です。
また、別の役立つ情報: 現在、挿入されているデータ (キー) は、1、2、... から 1,000 万までの整数の範囲です。
上記のように最大値を指定して順序を使用するようにユーザーに強制することもできますが、それは私の実装に大きな影響を与えますか? (マップは rb ツリーに基づいており、昇順で挿入するとパフォーマンスが向上する (または最悪の場合) と聞きました)
ここにコードがあります
暫定的な解決策: コメントと回答を確認した後、実装では密なキーが使用されるため、動的 C++ 配列が最適なオプションになると思います。ありがとう
c++ - C++でのpython dictとtr1::unordered_mapの違い
Python 辞書の仕組みの理解に関連する質問があります。
これは、リストをキーとして直接使用できないのと同じ理由です。つまり、リストは (.append をサポートすることにより) 可変であるため、辞書のキーとして使用できません。
C++ での unordered_map の実装がこれらのケースをどのように処理するかを知りたかったのです。(C++ の文字列は可変であるため)