問題タブ [prefix-operator]
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++ - 後置プレフィックス演算子のオーバーロードエラーc++
プレフィックスとポストフィックスのインクリメントに演算子のオーバーロードを使用すると、コンパイラからエラーが発生します。
"Fajl Fajl :: operator ++(int)':メンバー関数はすでに定義または宣言されています"
演算子++のヘッダーは次のとおりです。
そして私の実装:
「Fajl」はクラスであり、「poz」は私がインクリメントしているその引数です。私は何が間違っているのですか?
c++ - オーバーロードされた後置演算子はどのように機能しますか?
次のコードがあります。
次のような質問があります。
接頭辞が参照を返し、接尾辞がオブジェクトを返すのはなぜですか? 本 C++ Primer では、著者は "
For consistency with the built-in operators
" のみを説明しました。次に、コードをテストしました。
配列ar;
/li>
出力はまさに私が期待したものです。ここで、オーバーロードの後置関数のコードを次のように変更しました。
テストコードを呼び出しました:
なぜ私はそのような結果を得たのですか?
c++ - Turbo C ++(ビジュアルではありません)(接尾辞と接頭辞の演算子)
このプログラムを実行すると、2として出力されます
...しかし私がそれを変更するとき
...出力0を取得します。なぜですか?Javaでは、両方とも2として出力されました。C++の何が問題になっていますか?説明 :(
syntax - Common Lisp:'に似た連結プレフィックスマクロを作成する方法は?
一般的なLispマクロは通常、包含接頭辞表記を使用します:(演算子のもの...)
ただし、特別引用符マクロ'は、連結接頭辞表記を使用します:operator stuff、または代わりにoperator(stuff)。
SBCL Common Lispでカスタムマクロを作成したいと思います。これを!と呼びましょう。これは、連結プレフィックス構文を使用して、'と同様に、次のリスト(またはアトム)を操作します。したがって、括弧自体に挿入しなくても、どこでも呼び出すことができます(たとえば、(setq foo!(bar)))。
これはどのように行うことができますか?defmacro構文はどのようになりますか?ありがとう。
javascript - 割り当て中のJavascriptインクリメント
前置インクリメント演算子について話し合っていたのですが、意見の相違があったようです。
このコードを実行すると:
2行目は次と同等です:
- x = (x = x + 1) または
- x = (x + 1)
結果が同じであるため、違いを見分けるのは困難です (どちらもx
値が 1 になります)。
割り当ての左側が変数自体である場合、値は元の変数に保存されないと思います。
++
私のカウンターパートは同意せず、演算子が使用されるたびに値が元の変数に保存されると考えています。
私たちのどちらが正しいですか?
perl - コンパイル順とポストプレフィックス演算子
なぜ次の出力7 7 6 7
の代わりに5 6 6 7
パラメータのコンパイルの順序と関係があると確信しています
ありがとう、
c++ - C++で後置演算子を避けるのはなぜですか?
「コンテキストで接頭辞を選択できる場合は、後置演算子を使用しないでください」と教授が言っているのを聞きました。検索しましたが、これを説明する関連記事がstackoverflowに見つかりませんでした。
いずれかを選択できるのに、なぜ operator++ よりもprefix
operator++を好むのでしょうか?postfix
c - 後置および前置演算子式を解決する方法は?
次のコードを書きました。
そして、私は次の結果を得ました:
私が知っているように、後置演算子と前置演算子はセミコロンの後に解決されます。元の値が式で使用され、変数が解決されます。その場合
に等しい必要があります
両方とも同等である必要があります
したがって、2 つの式の結果は同じでなければなりません。しかし、そうではありません。どこで間違った概念を持っているのか、誰でも助けてください。
c++ - C++ 演算子のオーバーロード プレフィックス/サフィックス
C++ で演算子のオーバーロードを学習しています。元のサフィックス ++ は、代入演算子よりも優先順位が低いという特性があります。たとえば、int i=0, j=0; i=j++; cout<<i<<j
01 が出力されます。しかし、このプロパティは、後置 ++ をオーバーロードすると失われるようです。
(0,0)(1,1) を期待していたのに (0,0)(2,2) を出力します。
このような理由と、元のプロパティを復元する可能性を理解するのを手伝ってもらえますか?