Pythonでユーザ定義の__repr__
を作成するにはどうすればよいですか?C++の文字列へのユーザ定義のキャスト(Pythonの__repr__など)
object1
がSomeClass
であるとしましょう。機能があるとします(void function1(std::string)
)。 function1(object1)
の呼び出しで、コンパイラがSomeClassをstd::string
にキャストするように何か(関数、メソッド、...)を定義する方法はありますか?
(私はにstringstreamバッファおよびオペレータ< <を使用することができることを知っているが、私はそのような仲介操作せずに方法を見つけるしたいと思います)
注意: '__repr__'は慣用的なPythonであるかもしれませんが、上記のコードは慣用的なC++ではないので、賢明に使われなければコードの読者を混乱させます。 –
編集:パベルの答えはもちろん完全に正しいです、それは私の警告サイレンを鳴らした '__repr__'の言及です:) –