#ifdef _debug
class __ctrace
void __cdecl operator()(lpctstr format, ...) const
;va_list arg; va_start(arg, format);
_vstprintf_s(szinfo, 1024, format, arg);
va_end(arg);
outputdebugstring(szfileandline);
outputdebugstring(szinfo);}};
#define _trace __ctrace(_t(__file__), __line__)
#else
#define _trace(...) __noop
#endif
//應用舉例
//類似trace巨集一樣使用 只需要前面加一下劃線
//但是比trace的優勢就是雙擊除錯框中的輸出行 可以定位到源**出
_trace(_t("value = %d\r\n"), val);
array c 實現,第二版
include include include include using namespace std namespace mylib array const array coll alloc coll.alloc size coll.size ia null array const pointer...
Effective Java 中文第二版
第2章 建立和銷毀物件 第1條 考慮用靜態工廠方法代替構造器 第2條 遇到多個構造器引數時要考慮用構建器 第3條 用私有構造器或者列舉型別強化singleton屬性 第4條 通過私有構造器強化不可例項化的能力 第5條 避免建立不必要的物件 第6條 消除過期的物件引用 第7條 避免使用終結方法 第3章...
Effective Java 中文第二版
第2章 建立和銷毀物件 第1條 考慮用靜態工廠方法代替構造器 第2條 遇到多個構造器引數時要考慮用構建器 第3條 用私有構造器或者列舉型別強化singleton屬性 第4條 通過私有構造器強化不可例項化的能力 第5條 避免建立不必要的物件 第6條 消除過期的物件引用 第7條 避免使用終結方法 第3章...