#define n2+2//僅僅是字串替換
#define n(2+2)//也是字串,但是是(2 + 2)
#define area(x) (x) * (x)//帶參的巨集定義參會當作字串直接替換
三種特殊的符號:
#@#define tochar(x) #@x//就是加上單引號,越界會報錯、、
#pragma可以說是c++中最複雜的預處理指令了,下面是最常用的幾個#pragma指令:
#pragma comment(lib,「***.lib」)
表示鏈結***.lib這個庫,和在工程設定裡寫上***.lib的效果一樣。
#pragma comment(linker,"/entry:main_function")
表示指定鏈結器選項/entry:main_function
#pragma once
表示這個檔案只被包含一次
#pragma warning(disable:4705)
表示遮蔽警告4705
#pragma hdrstop。表示預編譯標頭檔案到此為止,後面的標頭檔案不進行預編譯。
#pragma message。在標準輸出裝置中輸出指定文字資訊而不結束程式執行。
#pragma pack。用來改變編譯器的位元組對齊方式。常規用法為:
#pragma pack(n) //將編譯器的位元組對齊方式設為n,n的取值一般為1、2、4、8、16,一般預設為8
#pragma region
是visual c++中特有的預處理指令。它可以讓你摺疊特定的**塊,從而使介面更加清潔,便於編輯其他**。摺疊後的**塊不會影響編譯。你也可以隨時展開**塊以進行編輯等操作。需要摺疊的**必須包含在#pragma region和#pragma endregion之間
C巨集 define的一些用法
c語言中的 define命令,在編譯預處理時進行簡單的字元替換。其使用的一般形式為 define 識別符號 字串 其中的 表示這是一條預處理指令。凡是以 開頭的均為預處理命令。define 為巨集定義命令。識別符號 為所定義的巨集名。字串 可以是常數 表示式 格式串等。1.最常見的一種用法也是最簡單...
一些巨集的寫法
1.宣告乙個常數用以表示1年中有多少秒 忽略閏年問題 define seconds per year 60 60 24 365 ul 2.返回兩個數的較大數 不能使用大於 小於 if語句 define max a,b abs a b a b a b 3.返回兩個數的較小數 define min a,...
C 的一些筆記
發現一些小的知識點長期不用都得忘,決定再次遇到了一定要記錄一下。任何不會修改資料成員的函式都應該宣告為const型別。如果在編寫const成員函式時,不慎修改了資料成員,或者呼叫了其它非const成員函式,編譯器將指出錯誤,這無疑會提高程式的健壯性。在建構函式前加explicit關鍵字禁止物件作隱式...