問題タブ [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.
queue - msmq の一時キュー
JMS の世界では、要求/応答のシナリオに非常に役立つ一時的な宛先と呼ばれる概念があります。送信者は、ある宛先に対して要求を行い、応答を受信するための一時的な宛先 (それが作成されたセッションがそこにある間だけ存在する) を作成します。msmqにそのようなものはありますか?
mongodb - mongoDB で一時的な MapReduce コレクションを削除する方法
一時的なマップ削減コレクションをすべて削除できる方法はありますか? コレクションを保持または削除するために、パラメーターブール値を渡すことができると読みました。パラメータはシェル用で、Java ドライバを使用します。したがって、クエリの完了時にコレクションを削除するように設定することはできません。すべてを削除するシェルコマンドはありますか?
それに関連するコマンドはリストされていません。
以下は、私が持っているコレクションのサンプルです。
c++ - 一時的なものの寿命
次のコードは正常に機能しますが、なぜこの正しいコードなのですか?foo()によって返される一時の「c_str()」ポインタが有効なのはなぜですか?この一時的なものは、bar()に入るとすでに破棄されていると思いましたが、このようには見えません。だから、今私はfoo()によって返された一時的なものがbar()の呼び出しの後に破壊されると仮定します-これは正しいですか?なぜ?
c++ - const char * への安全な変換 - 一時的な寿命の問題
明示的で安全なキャストを実行できるように、次のテンプレートを定義しています。
頻繁に (たとえば、sprintf や同様の関数に引数を渡す場合)、このテンプレートを使用して、文字列クラスから C スタイルの文字列への変換を実行したいと考えています。ただし、一時的なものは十分に長く存続しないため、一時的なものを渡すとこれが不可能であることを示しています。
次の例を検討してください。
obj.GetDebugName() からのテンポラリは、safe_cast の間だけ存続し、ポインタは、printf の内部では無効です (すでに破棄されている文字列テンポラリのデータを指します)。
回避策として、私は現在、テンプレート呼び出しなしで直接キャストを使用しています: const char *c = (const char *)(obj.GetDebugName()
、ただし、キャストが不必要に強力であるため、型の安全性が低下するという欠点があります (たとえば、obj.GetDebugName() が代わりに int を返す場合でも、暗黙のうちに成功します)。文字列値)。static_cast
少し良いかもしれませんが、それでも強すぎるので、キャストが安全であると確信できない状況ではエラーを取得したいと思います.
1)私が間違っていなければ、標準は一時的なライフタイムはステートメントであると言います(const参照にバインドされて拡張されない限り、その場合は参照のライフタイムです)。上記のprintfの例を見ると、「ステートメント」とは何か、また、見た動作が適合しているかどうかがよくわかりません。ステートメントが printf 全体である場合、const From &from の有効期間は短くなります - 一時的な有効期間はどのくらいですか? 誰かが明確にすることができますか?
2)安全な変換を行う他の方法はありますが、結果は有用なほど長く存続しますか?
編集:
これは一種の一般的な質問だと考えてください。一時的な有効期間に関してこのような変換を行う方法を探しています。特定の文字列クラスの特殊なケースにはあまり興味がありません。
.c_str または同様のメンバー関数を使用したくない理由を明確にするために、変換コードを型にとらわれないようにしたいと思います。この特定の文字列型に c_str が実装されていることがわかっているという事実にコードを依存させたくありません。 ObjectDebugName によって別の文字列クラスが返される場合でも、または ObjectDebugName が既に const char * を返している場合でも (これにより、.operator const char *() を呼び出す可能性が排除されます)、それを機能させたいと考えています。
c++ - 一時オブジェクトにはスコープがありますか?
名前にはスコープ(コンパイル時プロパティ)があり、オブジェクトには存続期間(ランタイムプロパティ)があります。右?
一時的なオブジェクトが「範囲外になる」と話している人をよく見かけます。しかし、一時オブジェクトには名前がないので、この文脈で「スコープ」について話すのは意味がないと思います。一時オブジェクトの存続期間は非常に明確に定義されており、スコープとは関係ありません。同意しますか?
c++ - C++ コンパイラによって導入された一時ファイルの存在についてオブジェクト ファイルを検査できますか?
以下のコードから生成されたオブジェクト ファイル ( file1.o ) を調べて、一時的に導入されたコンパイラの存在を調べる方法はありますか? オブジェクト ファイルからそのような情報を取得するには、どのツールを使用できますか?
c++ - 一時的なアドレスの取得が違法なのはなぜですか?
私は以下に書かれたコードが違法であることを知っています
その理由は、一時オブジェクトのアドレスを取得することが許可されていないためです。しかし、私の質問はなぜですか?
次のコードを考えてみましょう
ここで受け入れられた答えは言及しています
「通常、コンパイラは、メモリのまったく同じ場所にある 2 つのオブジェクトとして構築された一時オブジェクトとコピーを考慮し、コピーを回避します。」
ステートメントによると、一時的なものはいくつかのメモリ位置に存在していたと結論付けることができ(したがって、そのアドレスが取得された可能性があります)、コンパイラは、一時的なものと同じ場所にインプレースオブジェクトを作成することにより、一時的なものを削除することにしました。 .
これは、テンポラリーのアドレスを取得できないという事実と矛盾しますか?
また、戻り値の最適化がどのように実装されているかも知りたいです。誰かが RVO の実装に関連するリンクまたは記事を提供できますか?
c++ - コンパイル時または実行時に一時的な問題への const 参照を検出する方法は?
最近、C++ プログラムのエラーのほとんどが次の例のような形式になっていることがわかりました。
出力: 1000
このプログラムは 123 (get_x() で設定された xyzn の値) を出力すると予想しますが、「Big b」の作成により一時的な Z が上書きされます。その結果、オブジェクト Y 内の一時的な Z への参照は、次のように上書きされます大きなb、したがって、出力は私が期待するものではありません.
オプション "-Wall" を指定して gcc 4.5 でこのプログラムをコンパイルしたところ、警告は表示されませんでした。
修正は明らかに、クラス Y のメンバー Z から参照を削除することです。ただし、多くの場合、クラス Y は私が開発していないライブラリの一部であり (最近は boost::fusion)、さらに状況ははるかに複雑です。私が与えたこの例よりも。
これには、gcc へのある種のオプション、またはそのような問題をできればコンパイル時に検出できる追加のソフトウェアがありますが、ランタイムでさえ何もないよりはましでしょうか?
ありがとう、
クリントン
ruby-on-rails - Rails:一時変数を設定しますか?
ビューの一時変数(実際には「true」または「false」の方が多い)を設定する必要があります。
ユースケースは、ユーザーが作成されると、ダッシュボードページにリダイレクトされることです。Google AdWordsのコンバージョントラッキングの場合、ビューに表示する必要のあるコードが少しありますが、create
メソッドの実行後にのみ表示する必要があります。
したがって、それを解決する方法は、一時変数(@show_conversion
または何か)を設定し、それを1つのビュー(フラッシュメッセージと同様)に設定することだと思います。
だから、どうすればそれを行うことができますか?
c++ - 一時オブジェクトの混乱
このコードスニペットを見てください
なんで?