这段ATL代码什么意思?
Cline 2008-10-29 09:26:02 问题一:
// Verify that a null-terminated string points to valid memory
inline BOOL AtlIsValidString(LPCSTR psz, size_t nMaxLength = UINT_MAX)
{
(nMaxLength);
return (psz != NULL);
}
"(nMaxLength);"这一句有什么作用?
问题二:
#define USES_CONVERSION_EX int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = NULL; (_lpw_ex); LPCSTR _lpa_ex = NULL; (_lpa_ex); USES_ATL_SAFE_ALLOCA
(_convert_ex);有啥用?
问题三:
#define ATLASSUME(expr) do { ATLASSERT(expr); __analysis_assume(!!(expr)); } while(0)
为什么要do-while语句?