我遇到了一個關於編寫代碼以確定C++中未使用函數的問題。我們可以使用不同的數據結構來確定未使用的函數。但在此之前,我們需要解析代碼。我有關於解析部分的問題,我們如何區分函數聲明和定義以及函數調用?確定函數聲明,定義和調用
一樣,
//function declaration without argument
fun1();
//function definition
fun1() {
// code goes here
}
main() {
fun1();
}
上面的聲明和調用看起來相同的地方定義部分是從申報和呼叫有點不同。
除了上面的場景外,還有多種調用函數和函數作用域的場景,比如兩個函數具有相同名稱的類一個函數在成員函數中調用(即不需要顯式調用對象)或者使用對象調用函數,首先需要了解對象的類型以確定實際調用哪個函數。
解析如何有效地執行?在上述情況下需要多少分析?
我不是C++大師,但不要函數聲明和定義表示返回值類型? – Adi 2012-07-16 09:33:37
@Adnan除非你認爲'implicit int'沒錯。 @Sachin解析C++非常困難。我建議使用'libclang'來爲你做解析,並用它做你的靜態分析,而不是自己去做。這對模板來說非常困難。 – pmr 2012-07-16 09:35:00
謝謝@pmr,我應該更多地參與C++。 – Adi 2012-07-16 09:35:56