2017-11-02 13 views
3

大規模なオープンソースライブラリの一部がどのように機能するのかを理解しようとしています。オーバーロードされた演算子の定義を見つけることができません。オペレータにGo To Definitionを使用すると、ファイルの先頭にあるtypedefに移動します。オーバーロードされた演算子の定義を見つけるにはどうすればよいですか?

実際にVSで、オーバーロード演算子またはいくつかの他のツールのために使用されている、または私はちょうどクラス階層を検索立ち往生していますどのようなコードを見つけるための方法はありますか?

+0

VS IntelliSenseは、ソースファイルのインデックスを作成するのに時間がかかることがあります。しかし、あなたはオペレータではなくタイプを探しているように思えます。 –

答えて

0

この演算子がオーバーロードされている場合、VSは異なる色で強調表示します。オペレータの体を正確にクリックし、Go To Definitionを選択する必要があります。または、オペレータ名にカーソルを設定して(+の直前など)、F12キーを押します。演算子が組み込まれている場合(例:int + int)、定義にジャンプすると「演算子が過負荷にならない」ポップアップが表示されます。上記の動作はVS 2017で有効であることに注意してください。以前のバージョンのVSでは、オーバーロードされたオペレータ解決のサポートがはるかに制限されていました。

+0

私はVS Community 2017を使用しています。演算子(この場合は*)の直前にカーソルを置いてF12を押すと、 'typedef'が表示されます。左右の辺は、同じ基本クラスを継承する異なるクラスです。ライブラリはテンプレートクラスを大量に使用しています。 –

+0

@MalikDrakoオペレータがテンプレート本体の一部である場合、実際のオペレータの位置を推論することはあまり現実的ではありません。しかし、オペレータは通常の機能の中にあります。 – VTT

関連する問題