原文:盡量不要使用#define,而是用const、enum、inline替換。

為什么這么說呢 或許很多程序員已經習慣在文件開始使用大量的 define語句。例如:這里程序文件開頭有如下 define語句 define N define PI . define MAX define Heigth . ... ... 假設這里程序運行出錯誤,而且就是在我們使用這些常量有錯誤,此時編輯器應該會拋出錯誤信息。如果該信息提示 . 這里有錯誤,Ok如果你運氣好你正好記得或者程序簡單一眼 ...

2012-10-20 12:22 6 3994 推薦指數:

查看詳情

為什么很多人使用#define而不是const定義常量

眾所周知,C語言一開始只有#define,C程序員用#define定義符號常量。但后來ANSI C加入了const限定符,而const應該比#define更好,為什么現在的C程序員還在大量使用#define來定義常量呢? 這並不是我沒有根據地亂說的。這樣的例子有很多,例如< ...

Sat Apr 15 19:24:00 CST 2017 1 7083
iOS-static和const聯合使用使用static const 與 #define

static和const聯合使用: static將一個全局變量變成局部變量 const將一個局部變量變成局部常量 // 定義了一個局部常量 static const CGFloat ZMJRed = 0.4; 使用static const 與 #define ...

Fri Apr 08 02:50:00 CST 2016 0 1686
#defineinline 的區別

define:定義預編譯時處理的宏; 只進行簡單的字符替換,無類型檢測 typedef:定義類型別名 用於處理復雜類型 例: typedef int A; 則:A a; //定義a為int inline: 內聯函數對編譯器提出建議,是否進行宏替換,編譯器有權拒絕 既為提出申請 ...

Sun Mar 18 22:45:00 CST 2012 2 11219
iOS學習——iOS 宏(define)與常量(const)的正確使用

概述   在iOS開發中,經常用到宏定義,或用const修飾一些數據類型,經常有開發者不知怎么正確使用,導致項目中亂用宏與const修飾。你能區分下面的嗎?知道什么時候用嗎? 當我們想全局共用一些數據時,可以用宏、變量、常量 宏、變量、常量之間的區別 ...

Fri Aug 23 00:23:00 CST 2019 0 436
const和#define 區別

1: 編譯器處理不同 define宏是在預處理階段展開,const常量是編譯運行階段使用。 2:類型和安全檢查不同 const常量有數據類型,而宏常量沒有數據類型,僅僅是展開。編譯器可以對前者進行類型安全檢查,而對后者只進行字符替換,沒有類型安全檢查,並且在 ...

Mon Apr 20 01:43:00 CST 2015 0 2021
#defineconst、constexpr

const 、#define、constexpr #define define是C語言中的宏,拿來進行文本替換。如,#define number 100,在程序的預處理階段,會將程序中,所有出現number的地方,使用100來進行替換。 缺點:這個是在預處理階段就完成的文本替換,與編譯 ...

Wed Mar 04 08:10:00 CST 2020 0 1636
const與#define的區別、優點

。咱們的#define也是,僅僅是單純的文本替換const常量是編譯運行階段使用。 類型和安全檢查不同 de ...

Fri Aug 30 20:55:00 CST 2019 1 556
const與#define的異同

;   const常量是編譯運行階段使用; (2) 類型和安全檢查不同   define宏沒有類型,不做任何類 ...

Fri Aug 21 04:00:00 CST 2015 1 2831
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM