問題タブ [operator-keyword]
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::string への C++ オーバーロード変換演算子
以下がうまくいかない理由を誰かが答えてくれることを願っています。我慢してください、私はまだ非常に初心者です...私は、なぜ次の
コンパイル時エラーが発生します:
課題をやらないと
それは機能します。
私はエラーメッセージを理解するために何時間も努力してきましたが、私を最も困惑させているのは、それがchar *で機能することです.
ヒントに感謝します。ありがとう!マーカス
javascript - JavaScript で `Date` のインスタンスに `new` キーワードが必要なのはなぜですか?
挙動の違いが分かります。Date()
現在の日付を表す文字列をnew Date()
返し、呼び出し可能なメソッドを持つ Date オブジェクトのインスタンスを返します。
しかし、理由はわかりません。JavaScript はプロトタイプ化されているため、オブジェクトでもあるメンバー関数 (メソッド) を持つDate
関数とオブジェクトがプロトタイプ化されています。しかし、私はこのように動作する JavaScript を書いたり読んだりしたことがないので、違いを理解したいと思っています。
メソッドを持ち、new 演算子でインスタンスを返し、直接呼び出されたときに String を出力する関数のサンプル コードを誰かに見せてもらえますか? つまり、このようなことがどのように起こるのでしょうか?
非常に具体的な要求、私は知っています。それが良いことであることを願っています。:)
c++ - 演算子<<C++でのオーバーロード
これは私のコードです、エラーが発生しています。エラー:ostream:あいまいなシンボル。
誰でも私を助けることができます。
c++ - 演算子のオーバーロード
クラスmyStringを作成し、次のコードを実行しようとしています。
私の質問:
- なぜ「こんにちは」が印刷されないのですか?
s=k
その行がリンカーエラーを引き起こすのはなぜですか?
これはエラーです:
リンク:c:\ users \ perry \ document \ visual studio 2010 \ Projects \ inheritance \ Debug \ inheritance.exeが見つからないか、最後の増分リンクでビルドされていません。フルリンクの実行1>main.obj:エラーLNK2019:未解決の外部シンボル "class std :: basic_ostream>&__ cdecl operator <<(class std :: basic_ostream
&、class myString *) "(?? 6 @ YAAAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ std @@ AAV01 @ PAVmyString @@@ Z)関数" public:class myString&__ thiscall myString :: operator =(class myString&) "(?? 4myString @@ QAEAAV0 @ AAV0 @@ Z)1> c:\ users \ perry \ document \ visual studio 2010 \ Projects \ inheritance \ Debug \ inheritance.exe:致命的なエラーLNK1120:1つの未解決の外観
ありがとう、李
overloading - 間接参照演算子のオーバーロード
私はC++を初めて使用し、逆参照演算子のオーバーロードについて質問があります。アプリケーションで使用されるメモリ内オブジェクトストアを構築しています。データストアはアプリケーションのメモリスペースにマップされ、アプリケーションは間接参照演算子を使用してオブジェクトを直接読み取り/変更できます。以下に説明するインターフェースを提供する予定です
演算子のオーバーロード関数には、オブジェクトが読み取られているのか書き込まれているのかを知る方法がありますか?提案は大歓迎です。
c++ - C++: 純粋仮想代入演算子
基本クラスに純粋な仮想代入演算子がある場合、その演算子を派生クラスに実装すると、基本クラスでリンカー エラーが発生するのはなぜですか?
現在、 http://support.microsoft.com/kb/130486に次の説明しかありません。通常の継承規則が適用されないため、動作は設計によるものであるとのことです。
私には明確ではありませんが、設計によりリンカーエラーが生成されるのはなぜですか? 誰かがこれについてもっと明確な説明をくれますか?
編集:エラーが発生した簡略化されたコードを追加しました:
コードは、基本クラスでの純粋な仮想 operator= 宣言の有無にかかわらず、エラーなし でコンパイルされます。__declspec(dllexport)
__declspec(dllexport)
の割り当て後、d1:: memberB*bd1 = *bd2;
は 1 ですが、__declspec(dllexport)
d1::memberB がある場合は変更されません。
を使用し__declspec(dllexport)
、pure virtual 宣言を使用しない場合、 の代入後*bd1 = *bd2;
、d1::memberB は変更されません。
c++ - 2 つの異なるオブジェクトの交換演算子のオーバーロード +
行列を表す 2 つのクラスがあり
ます。1. RegularMatrix - O(n^2) 表現
2. SparseMatrix - リンクされたリスト (ゼロなし) として表される行列。
私が持っているとしましょう:
私はできるようになりたい:
また:
だから私は + 演算子をオーバーロードしています。私の質問は、追加を可換 (a+b = b+a) にしたいので、ケースごとに 1 つずつ、2 つのオーバーロードを実装する必要があるかどうかです。
または、コンパイラが独自に決定する一般的な形式はありますか?
ありがとうございました
c++ - 引数が複雑な場合、* および & 演算子は何を操作しますか?
簡単に言えば、
に相当
また
また
それとも、安全のために明示的な括弧を本当にそこに置くべきですか?
java - Java の == 演算子に関する質問
上記のコードでは、s7 == s8 および s1 == s10 は false を返します。誰かが私に説明してくれませんか、ここで実際に何が起こっているのか s7 = s7.concat ("llo"); そして s10 = s10 + "llo"; == 演算子は参照をチェックし、 equal() はオブジェクトの内容をチェックすることを理解しています。しかし、s7 と s10 の参照変数のビット パターンが s8 と s1 と異なる理由を知る必要があります。これらがコンパイル時に生成された文字列と実行時に生成された文字列に関連している場合、それがコンパイル時または実行時の文字列であるかどうかをどのように識別できますか?
java - 実行時に使用可能な演算子を決定する
おそらく getMethod() 呼び出しと同様の方法で、実行時にオブジェクトの使用可能な演算子を取得できるようにしたいと考えています。
特に、実行時にオブジェクトの小なり/大なり演算子を呼び出せるようにする必要があります。
基本的に、Object オブジェクト型にキャストされた一連のプリミティブがあります。実行時にそれらを比較する必要があります。(比較対象のオブジェクトが元の型と同じであることはわかっており、独自の型チェックを実装しています)。
あるいは、これらのオブジェクトをプログラムで元の型にキャストし、ネイティブの比較演算子を使用する方法があるかもしれません..どうにかして?
ご協力ありがとうございます。