有兩種類型的宏 - function-like macros和object-like macros。我可以像對象宏執行各種檢查/操作: #ifdef _SOME_OBJECT_LIKE_MACRO // check if some object-like macro is defined
#undef _SOME_OBJECT_LIKE_MACRO // undefine some object
對於上面的例子,我試圖找出增量方法是否實際上是內聯的。如果在定義NDEBUG標誌時斷言將被編譯器刪除,則增量方法將成爲單行,因此實際內聯的概率將增加。 所以問題歸結爲移除斷言並由編譯器做出內聯決定的順序。 #ifndef Example_h__
#define Example_h__
#include <cassert>
class A
{
private:
int m_va
我有一個開源項目,我想在32位和64位體系結構上運行/編譯。但問題來了:它使用動態數組很多,並且也需要弄亂它們的長度。動態數組的長度存儲在size_t類型中,即64位上的ulong和32位系統上的uint。 我有一些代碼看起來是這樣的: int i = 0;//this HAS to be int, not uint for some reasons
i = dynArray.length;//