2012-12-26 19 views
0

,我只是在想下面方法之間的差異的直接分配,而定義常量:IFNDEF,定義和常量

方法一: 創建一個頭文件來定義所有的常量,使用包括後衛:

#ifndef c1 
#define c1 @"a123456789" 
#endif 

然後分配常數的函數:

Identity.number = c1; 

方法2: 只需簡單地定義常量

#define c1 @"a123456789" 

然後分配常數函數:

Identity.number = c1; 

方法3: 不要定義常量,只是值賦給一個功能:

Identity.number = @"a123456789"; 

上述的任何優點和缺點?

+0

爲什麼你需要這個常數?它的目的是什麼? – 2012-12-26 20:59:36

+0

請儘量避免使用'#define'。有很多更好的方法來定義常量。 – Sulthan

回答

0

方法1和2對於較大的項目要好得多,因爲您可以輕鬆地更改恆定值的一個地方。 方法1對於有很多文件的非常大的項目可能特別有用,但對於較小的項目並不是必需的。

方法3,你必須搜索每一行代碼來找到你想要分配的值(如果你給它分配更多的地方)。因此,我認爲這是不好的。

+0

不,方法1和2總是更好。良好的編碼原則不僅僅適用於大型項目。當然,使用'#define'定義一個常量本身就是一個問題。 – Sulthan

1

第一種方法是重要的,當你確定常量只定義一次。第三種方法不允許IDE在自動完成時幫助您,這在常量的值更復雜時非常重要。