我有一個關於我的代碼性能的問題。 比方說,我有一個在C結構的一個觀點:ANSI C#define VS函數
typedef struct _CPoint
{
float x, y;
} CPoint;
,並在那裏我用的是結構的函數。
float distance(CPoint p1, CPoint p2)
{
return sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2));
}
我在想,如果這將是一個聰明的主意,以取代此功能使用#define,
#define distance(p1, p2)(sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2)));
我認爲這將是更快,因爲不會有功能的開銷,而且我我想知道是否應該在我的程序中使用這種方法來提高性能。所以我的問題是:
我應該用#define替換所有我的函數來提高我的代碼的性能嗎?
請使用尾部而不是前導下劃線:大多數前導下劃線的使用違反了ISO C標準,下劃線後跟大寫字母尤其糟糕,因爲這就是新的C語言關鍵字所使用的('_Bool','' _Complex','_Generic','_Atomic',...) – Christoph