我遇到了一个关于编写代码以确定 C++ 中未使用的函数的问题。我们可以使用不同的数据结构来确定未使用的函数。但在此之前,我们需要解析代码。我有与解析部分有关的问题,我们如何区分函数声明和定义以及函数调用?
像,
//function declaration without argument
fun1 ();
//function definition
fun1 () {
// code goes here
}
main () {
fun1 ();
}
上面的声明和调用看起来相同,而定义部分与声明和调用略有不同。
除了上述场景,调用函数和函数作用域还有多种场景,比如两个具有同名函数的类,一个函数在成员函数中被调用(即不需要显式调用对象)或使用对象调用函数,所以需要了解首先确定对象的类型,以确定实际调用的是哪个函数。
解析如何高效实现?在上述情况下需要多少次解析?