C++ で未使用の関数を判別するコードの記述に関する質問に遭遇しました。さまざまなデータ構造を使用して、未使用の関数を特定できます。しかしその前に、コードを解析する必要があります。解析部分に関連する質問があります。関数の宣言と定義、および関数呼び出しをどのように区別できますか?
お気に入り、
//function declaration without argument
fun1 ();
//function definition
fun1 () {
// code goes here
}
main () {
fun1 ();
}
上記の宣言と呼び出しは同じように見えますが、定義部分は宣言と呼び出しとは少し異なります。
上記のシナリオ以外に、関数と関数スコープを呼び出すための複数のシナリオがあります。たとえば、2 つのクラスが同じ名前の関数を持ち、1 つの関数がメンバー関数内で呼び出される (つまり、明示的な呼び出しオブジェクトは必要ありません)、またはオブジェクトを使用した関数呼び出しなど、理解する必要があります。最初にオブジェクトの型を調べて、実際に呼び出される関数を決定します。
解析を効率的に実装するにはどうすればよいですか? 上記のシナリオでは、何回の解析が必要ですか?