C 巨集定義的一種有趣應用

2021-06-08 12:28:46 字數 490 閱讀 4284

巨集定義, 還可以作為一種對程式物件屬性的描述手段來加以使用.

例如: 《程式設計原本》 (機械工業) p13. 

template

requires(binaryoperation(op))

domain(op)  square(const domain(op)& x, op op)

return op(x, x);

其中" requires() "是乙個巨集, 定義如下(p251):

#define  requires(...)  

預編譯器對模板函式展開後, require(binaryoperation(op)) 被空的內容所取代.

所以, 這裡的巨集"require" 實際上只起了乙個注釋的作用.

binary在此處翻譯為"二元". 

require(binaryoperation(op)) 在此處的作用是告訴使用者, op是乙個二元操作.

另: domain(op) 表取op的定義域.

一種很有趣的SEO方式

我在乙個部落格上進行了嘗試,由於那個部落格上的 實質性的 文章和內容比較少,起到的效果不是很理想。但是由於功能簡單,所以還是放了上去。得出的結論是 如果你的 權重越大,內容越多的話,加上了該功能,將會是乙個非常理想,強大的seo工具。其實說白了,這個技術非常簡單 1,內部必須擁有站內搜尋功能,而且還...

typedef define重複定義的一種解決方法

與 define不同,typedef沒有類似 undef的方法取消定義,如果兩個庫中同時使用typedef定義了某個型別,便會編譯失敗。乙個解決方法是,在包含第二個庫時使用 define將重複定義的型別名改掉。例如,如果標頭檔案sm system.h和math.h中均包含 typedef x flo...

巨集定義的簡單應用

三目運算的巨集定義 注意括號的使用,巨集定義只是簡單的引數傳遞,並不負責運算 define mymax a,b a b a b 獲取字串的長度的巨集定義 x為字串,可以通過改變量字1的大小來改變所要擷取字元 串的長度 define subtoindex x x substringtoindex 1 ...