問題タブ [temporary]
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++ - 戻り値を使用して get および関数呼び出しのループを最適化しますか?
これは、バッファリングされたソースからデータを取得し、それを送信して処理するフラグメントです。キューが空の場合、get() は null を返し、プロセス メソッドは null を受け取って何もしません。これをコーディングする最も最適な方法は何ですか?
get() 経由で到着する値を予測する方法はありません。それらはそのままであり、可能な限り迅速にキューから取り出して process() に渡す必要があります。
「a」という名前の明示的なローカル変数をスキップして、ループを 1 つのライナーにすると、無駄な労力はあまり見られません。
g.get() の暗黙の戻り値にはまだスペースが割り当てられており、コンストラクターの呼び出しなどが含まれる可能性があります。
返されたものにサイズや複雑さがある場合は、そのコピーではなくそれへのポインターを持ち、値によるコピーではなくそのポインターを渡す方がよいでしょう...だから私は
それよりも
2 行バージョンと 1 行バージョンを試して、100,000,000 回ループするテスト ケースを c++ で作成しました。
a が 4 つの整数と 2 つの浮動小数点数を持つオブジェクトであり、process() メソッドがそれらすべてに触れる場合、実際には 2 行のソリューションの方が高速です! オブジェクトが単一の int の場合、1 行バージョンの方が高速です。オブジェクトが複雑で、process() メソッドが 1 つの値に触れるだけの場合は、1 行バージョンの方が高速です。
私にとって最も興味深いのは、g++ コンパイラ、Mac OS X 10.5.8 を使用して、-O 第 1 レベルの最適化スイッチを使用すると、1 行バージョンと 2 行バージョンの両方で同じ、はるかに高速な操作が得られることです。
コンパイラに最適化させ、両方のメソッドを 1 行で明示的な中間変数を使用せず、参照渡しでコピーを作成しないようにする以外に、一般的に実行を高速化するものはありますか? 明らかな何かが欠けているように感じます。
php - MySQL クエリを実行し、一時値を保存してから別のクエリを実行する
いくつかのコンテキストを示すために、次のドロップダウンは、データベースに保存されている動物の現在のプロファイルの説明を提供するフォーム内にあります。つまり、このポニーは背が高く、この性別で、誰かが所有しているなどです。フォームの目的はこれらの現在の値を編集します。自由に上書きできるさまざまなオプションがあり、ドロップダウンメニューからのオプションに限定して選択したいものもあります。
以下は、私が Gender フィールドに使用している現在のコードです。これは機能しますが、適切な方法ではありません。現在の状態を照会し、現在の状態をデフォルトのオプションとして指定し、現在の状態を保存し、保存されている現在の状態と等しくない他の使用可能な状態を照会し、残りの状態をオプションとして与えるメソッドにもっと興味があります。フォームの他のすべてのドロップダウンに最もよく適応できるのはその方法です。
プロファイル tbl と prm_breedgender tbl の 2 つのテーブルが参照されます。各性別には ID が与えられ、各プロファイルには性別を示す対応する ID が与えられます (男性 = 1、女性 = 2 など)。$profile 変数は、現在見ているプロファイルを示す変数です。
どんな助けでも大歓迎です。私はその経験がすべてではないので(明らかに!)、付随する説明は素晴らしいでしょう。
java - Struts 2 リダイレクト - 永続的なリダイレクト オプション? 301対302
デフォルトでは、Struts 2 の「リダイレクト」は一時的なリダイレクト (302) です。意味あり。ただし、SEO の目的で、永続的なリダイレクト (301) を発行する必要があります。これを達成する簡単な方法はありますか?
c++ - const への参照にテンポラリをアタッチする際のエラー
重複の可能性:
typedef と const ポインターのコンテナー
コードでエラーが発生するのはなぜですか?
エラーは次のとおりです。
エラー: タイプ 'int' のテンポラリからのタイプ 'int&' の非 const 参照の無効な初期化</p>
一時変数は const への参照にバインドできると書かれている一時変数の寿命を延ばすという記事を読みました。では、なぜ私のコードがコンパイルされないのでしょうか?
c++ - c++ベクトルの問題; 参照によるものの受け渡し
だから私は自分のポインタをチェックしましたが、ここで何が問題になっているのか本当にわかりません。ベクトルを変更する関数を参照して、ベクトルの2つのベクトルを渡します。関数は次のとおりです。
そして、これが呼ばれる場所です:
エラー:
ベクトルポインタを作成しようとしましたが、機能しませんでした。どこかで一時変数を使用していると思います…ここで何が問題になっていますか?
c++ - C++ での一時的な実装はどのようになっていますか?
以下'a'
は一時的なものです。
これはデータ セクションでは復元されず ( const/static
does)、スタック内にあってはなりません (local variable dos)。それはどこにある?
アップデート
non-lvalue
とrvalue
同じことですか?
c++ - 部分式によって配列が作成されると、その中の一時変数はどうなりますか?
私は FDIS の次の 2 つの段落を読んでいました (12.2p{4,5}):
完全式の終わりとは異なる時点で一時変数が破棄される状況が 2 つあります。最初のコンテキストは、配列の要素を初期化するために既定のコンストラクターが呼び出されるときです。コンストラクターに 1 つ以上の既定の引数がある場合、既定の引数で作成されたすべての一時的な要素の破棄は、次の配列要素 (存在する場合) の構築の前に順序付けられます。
と
2 番目のコンテキストは、参照がテンポラリにバインドされる場合です。参照がバインドされている一時、または参照がバインドされているサブオブジェクトの完全なオブジェクトである一時は、参照の存続期間中存続します。[...]
- 関数呼び出し (5.2.2) の参照パラメーターへの一時的なバインドは、呼び出しを含む完全な式が完了するまで持続します。
これら2つの2つは、次の場合に矛盾しているようです
この出力CDCD
は、最初のコンテキストで必要とされるか、またはCCDD
2 番目のコンテキストで必要とされるように出力されますか? GCC は、2 番目のコンテキスト記述と出力に従っているようCCDD
です。何か重要なことを見落としていませんか?
編集: C++0x は必要ないと思います。このnew
-expression も私の質問の影響を受けます:
ただし、この場合、GCC は最初のコンテキストに従い、 を出力しますCDCD
。
mysql - 遅い MySQL クエリを最適化して、where; の使用を削除します。一時的な使用; ファイルソートの使用
わずか 10,000 レコードのデータベースに対して応答を返すのに 2 秒以上かかるクエリを最適化しようとしています。Explain は、ほぼ瞬時に返されるはずであることを示しています。パフォーマンスが遅いのは、where; を使用しているためだと思います。一時的な使用; ファイルソートを使用していますか?
クエリは次のとおりです。
そして説明:
そしてテーブル構造:
どんな助けにも感謝します!
編集:このインデックスを追加することで、これをはるかに高速化できました:
shell - Emacsからの外部プロセス呼び出し中の一時的に変更された環境
またはを使用するときに環境変数を一時的に変更する便利で機能的な(with-...
のような)方法はありますか?shell-comand
start-process
よろしくお願いします、Per
c++ - Microsoft VS C++ コンパイラが一時オブジェクトからの参照を初期化できるのはバグですか?
重複の可能性:
左辺値参照への一時的なバインド
VS2008 C++ コンパイラでは、コードはコンパイル エラーなしでコンパイルされます。
私は、C++2003 と今後の C++0x の両方の C++ 標準がそれを禁止していると信じています。また、gcc コンパイラでコンパイル時エラーが発生します。
だから私が知りたいのは、これはVSコンパイラが一時オブジェクトからの参照を初期化できるという既知のバグです。
それともVSコンパイラの機能拡張ですか?はいの場合、一時オブジェクトのライフサイクルは何ですか?