問題タブ [xvalue]

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

c++ - decltype(0 + 0)とは何ですか?

(回答によって促されます。)

N3290、§7.1.6.2p4を考えると、リストアイテムには番号が付けられていませんが、便宜上、ここでは番号が付けられています。

decltype(e)で示されるタイプは、次のように定義されます。

  1. eが括弧で囲まれていないid式または括弧で囲まれていないクラスメンバーアクセス(5.2.5)の場合、decltype(e)はeで指定されたエンティティのタイプです。そのようなエンティティがない場合、またはeがオーバーロードされた関数のセットに名前を付けている場合、プログラムの形式は正しくありません。
  2. それ以外の場合、eがxvalueの場合、decltype(e)はT &&です。ここで、Tはeのタイプです。
  3. それ以外の場合、eが左辺値の場合、decltype(e)はT&です。ここで、Tはeのタイプです。
  4. それ以外の場合、decltype(e)はeのタイプです。

decltype(0 + 0)で指定されたタイプは何ですか?

項目1は適用されず、2は適用される可能性がありますが、そうでない場合、3は適用されず、4が結果になります。では、xvalueとは何ですか、そして0 + 0はxvalueですか?

§3.10p1:

xvalue(「eXpiring」値)も、通常はその存続期間の終わり近くにあるオブジェクトを参照します(たとえば、そのリソースを移動できるようにするため)。xvalueは、右辺値参照(8.3.2)を含む特定の種類の式の結果です。

§8.3.2にはここで役立つものは何もありませんが、「0+0」には右辺値参照が含まれていないことは知っています。リテラル0は、「xvalueではない右辺値」(§3.10p1)であるprvalueです。「0+0」も優先値だと思います。それが本当なら、「decltype(0 + 0)」はintになります(int &&ではありません)。

私は私の解釈で何かを逃したことがありますか?このコードは整形式ですか?

このコードは、GCC 4.7.020110427およびClang2.9(トランク126116)でコンパイルされます。たとえば、decltypeがint &&型を指定した場合、整形式ではありません。

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

iphone - xcode CGPoint arc4randomが機能しない

22 枚の画像があります... 11 枚は (rightwall1、rightwall2、rightwall3 など)、残りの 11 枚は (leftwall1、leftwall2、leftwall3 など)

y 値を前の壁の y 値に壁の高さを加えた値 (すべての壁は同じ高さ) に設定することで、それぞれを重ねて配置しています。

これはうまくいきます!

今、私はarc4randomを使用してx値を設定しようとしていたので、特定の範囲内でジャンプします...

右の壁は完全に機能しますが、左の壁はいくつかは機能しますが、ほとんどが画面に表示されません。

1 の x 値を手動で -15 に設定すると、画面に表示され、arc4random で許容される値よりも低くなります。

私が考えることができる唯一の問題は、左の壁の減算が間違っていることですか?

壁の位置を設定するコードは次のとおりです。プロジェクト全体に他のコードはまだありません。

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

c++ - xvalueは、const lvalue参照にバインドされている場合、有効期間が延長されますか?

次のコードを書くと:

次にg++文句を言う:

わかりました。rvalues、lvalues、xvalues、glvalues、prvaluesとは何ですか?xvalueは、「期限切れ」になることを意味します。これは理にかなっています。しかし今、私がこれを行うと:

これは問題なく「機能」し、アドレスを出力します。だから、私はいくつかの質問があります:

  1. 値が期限切れになりそうな場合、なぜそれを参照できるのですか?参照は元のオブジェクトを存続させません(右?)。
  2. そのような参照は未定義の動作をもたらしますか?たとえば、破壊された可能性のあるオブジェクトを参照しているためですか?

一般に、右辺値参照の存続期間を知る方法はありますか?

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

c++ - 一時オブジェクトはxvaluesですか?

私は現在、学位論文を書いています。C++ 11の背後にある理論の説明も含まれています。これは、C ++が私の選択したプログラミング言語であり、標準が多かれ少なかれ無料で利用できるため(N3337)、迷子になるためです。の。

それでも、新しいxvalueカテゴリを正確かつ詳細に説明しようとしているときに、壁にぶつかりました。一時オブジェクトは常にxvalueであると理解していますが、標準ではこれへの参照を見つけることができません。非参照戻り型を持つ関数への関数呼び出しの式の値カテゴリはxvalueであると私は理解しています。標準では、「xvalueは、右辺値参照を含む特定の種類の式の結果である」と言われていますが、これは私を悩ませています。例えば:

上記は、予想通り、パラメータとして右辺値参照をとるオーバーロードされた関数を呼び出します。ただし、createObject()は右辺値参照を返さず、TestClass型の一時オブジェクトを返します。私の問題は今、その背後にある理由を説明しなければならないということです。式「createObject()」は何を評価しますか?一時オブジェクトを返すために実際にxvalueである場合、その背後にある理由は明確であり、過負荷の解決中に右辺値参照が優先されます。そうでない場合、標準に関するこの動作の説明は何ですか?まだ見つけていない暗黙の変換ロジックがどこかに定義されていますか?

何日も掘り下げて読んだ後でも、私はまだしっかりした説明を思い付いていないので、誰かがこれについて私を助けてくれたら本当にありがたいです。よろしくお願いします。

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

mschart - MSChart シリーズの X 値から Y 値を見つける

MSChart 2008 を使用して折れ線グラフを作成しました。x 軸に日付があり、y 軸に倍精度値があります。今日の日付の Y 値を見つける必要があります (これが x 値になります)。これ。

ありがとう

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

c++ - C++ では、クラス型の一時変数を生成する式はどのカテゴリ (左辺値、右辺値、x 値など) に分類できますか?

コード例を次に示します。

Foo(5) のような式は prvalue ですか、それとも一般的な rvalue ですか? これらの式で get_addr() を呼び出すことができるという事実は、それらが同一性を持っていることを意味しますか? または、デフォルトの &-operator (オーバーロードされていないことを意味します) を適用できないという事実は、それらが ID を持たず、したがって prvalues であることを意味しますか?

それを生成した式を介して生成された値の可変性は、この値分類に直交していると言っても過言ではありませんか?

0 投票する
0 に答える
922 参照

c# - C# チャート XValue が空です

AxisX の値の取得に問題があります。

新しいポイントフォームを追加しdataTableます:

そして、mouse_move イベントを使用して値を取得し、ラベルに表示します。

prop.XValue空いているのが不思議です。誰にもアイデアはありますか?

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

c++ - xvalue の自動最適化

少し驚いたことに (私には)、次の 2 つのプログラムは異なる出力にコンパイルされますが、後者の方がパフォーマンスがはるかに優れています (gcc と clang でテスト済み)。

対。

bコンパイラが最後の割り当てで xvalue を自動的に考慮し、明示的なstd::moveキャストなしで移動セマンティクスを適用する(またはできない) 理由を誰かが説明してくれませんか?

編集:でコンパイル(g++|clang++) -std=c++11 -O3 -o test test.cpp