iOS define 宏定義 和 const定義常量區別

來源:互聯網
上載者:User

標籤:

const  

       const 是c++中的修飾符。  c++中常用來定義常量,修飾左值。

#define

       宏定義語句, 在預先處理階段直接做文本替換,不做類型檢查。

它們之間的最大區別:

1.  對於const 變數,系統只給了一個相應的記憶體位址,而#define則是給出了一個立即數。因為const變數是存放在記憶體的靜態地區中,所以在程式運行過程中const變數只有一個拷貝,而#define 所定義的宏變數卻有多個拷貝,所以宏在程式運行過程中所消耗的記憶體要比const變數的大得多。#define所定義的宏變數在先行編譯的時候進行替換,const變數在編譯時間確定其值。const,enum 變數進符號表,可在調試中查看變數的值.而#define不行。

 

2.  const 對資料進行類型檢查。#define 無需進行類型檢查。定義宏參數時需將參數()起來。而且調用時參數不應在宏中再做運算。

 

3.  除了定義常量外,const 還有強大的修飾功能。#define 能增加程式的可讀性,有些複雜的功能只需一條宏顯示。

iOS define 宏定義 和 const定義常量區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.