問題タブ [conversion-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.

0 投票する
4 に答える
2795 参照

c++ - C ++複数演算子=()

私はStringクラスを書いています。次のような文字列を割り当てられるようにしたいと思います。

文字列から整数への変換には、operator =()メソッドをすでに割り当てています。逆のメソッドを実行できるように、別のoperator =()を宣言するにはどうすればよいですか?

私が別のものを宣言するとき、それは前のものを上書きするようです。

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

c++ - 戻り値とローカル変数の違い

私が持っているとしましょう

std::string コンストラクターは char* または std::string 参照のいずれかを取ることができるため、割り当てがあいまいになります。しかし、私のコンパイラ (VC++10) が 2 番目の代入について文句を言うのに、最初の代入については文句を言わないのはなぜですか?

オーバーロードされたコンストラクターではなく、テンプレート変換演算子を優先する方法を探しています。

次のエラーが表示されます。

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

c++ - 変換演算子が派生クラスで「まだ有効」であるとはどういう意味ですか?

「C++ で考える」の第 14 章 - 自動的に継承されない関数を読んでいます。上記のコード フラグメントは、Eckel によって提供された例です。そしてエッケルは言った:

「オブジェクトの作成を処理する関数の書き換えに関するこれらすべての規則のために、自動型変換演算子が継承されていることは最初は少し奇妙に思えるかもしれません。これらの部分はまだ Game から派生したものにあり、型変換演算子はまだ有効です (実際に再定義したい場合でも)。」

エッケルが何を言おうとしているのか理解できない。誰かがそれをもっと詳しく説明できますか?

ありがとう

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

c++ - c++クラスのテンプレート化された変換演算子の引数を指定する方法

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

c++ - ベースにダミーの実装を含めずに、属するクラスに基づいて異なる型を返す仮想関数を作成するにはどうすればよいですか?

派生クラスが戻り値の型が異なる仮想関数を実装するクラス階層が必要です。どうすればできますか。私が試したのは次のコードです:

このように機能するかどうかは、ユーザーがオブジェクトを有効な変数と同等にするだけでよいと考えていました。Base にすべての変換演算子をダミーの実装で含めずにそれを行う方法はありますか?

0 投票する
5 に答える
163 参照

c++ - 組み込み型をユーザー定義型に変換する方法

大きな整数演算をサポートする BigInteger というクラスがあります。BigInteger と組み込み型「int」の混合演算を実装したい。つまり、次のステートメントをサポートしたい

オーバーロードされた関数がそれを処理できることを知っています

その上、私は変換演算子がそれを処理することしかできないことを知っています。

しかし、上記の関数サポートは BigInteger を int に変換するため、精度が失われます。オーバーロードされた関数よりも単純で精度を保つ方法を探しています。

みんな、ありがとう。

やってみる、

メンバー関数を使用できないのはなぜですか? 使い方?

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

c++ - テンプレート化された変換演算子と暗黙のコピー コンストラクターに関するあいまいさ

次のコードでは、clang と gcc の動作が異なります。

このコードは、clang によって受け入れられ、foo(int)コンストラクターが呼び出されます。foo(int)ただし、gcc は、コンストラクターと、暗黙的に生成されたコピー コンストラクターとムーブ コンストラクターとの間のあいまいさについて不平を言っています。

誰が正しいですか?

iffoo f{w}foo f(w)(中かっこからかっこへの変更に注意してください) に変更された場合、gcc と clang の両方でエラーが発生することにも注意してください。()これは、上記の例に対するgcc の動作 (つまり、エラーを与える) が正しいことを願ってい{}ます。

編集: Kerrek SBdeleteの提案に従って、次のコピー コンストラクターを試しましたfoo:

動作は同じままです。

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

c++ - 文字列から myclass への自動変換

クラスを定義しました

次のように使用できるようにしたい

私が行ったかのように v1 がオブジェクトになることを望みます:

それは可能ですか?