这是什么语法

x363635334 2013-04-06 08:04:19

// Verify that a null-terminated string points to valid memory
inline BOOL AtlIsValidString(
_In_z_count_(nMaxLength) LPCSTR psz,
_In_ size_t nMaxLength = UINT_MAX)
{
(nMaxLength);
return (psz != NULL);
}

(nMaxLength);这句干什么
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
_In_z_count_(nMaxLength) 运行库中定义的宏,用于检测一些内存问题
ForestDB 2013-04-06
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/hh916383.aspx 可以系统地看看。
regainworld 2013-04-06
  • 打赏
  • 举报
回复
// Verify that a null-terminated string points to valid memory inline BOOL AtlIsValidString( _In_z_count_(nMaxLength) LPCSTR psz, _In_ size_t nMaxLength = UINT_MAX) { (nMaxLength); return (psz != NULL); } #define _In_z_count_(nMaxLength) #define _In_ 编程规范里见过,这是一种指示性的宏定义,替换完就是个空,只是用来表示参数属性,输入IN,输出OUT,输入输出INOUT,长度是nMaxLength,等等,编程规范的一部分,用于代码的自描述。
x363635334 2013-04-06
  • 打赏
  • 举报
回复
VS10默认配置测了一下,形参就算不用也不警告 这个atl是微软写的 _in _out这样的是给人看的,至于_In_z_count_(nMaxLength)也是给人看的吗 实际有执行语句吗 给宏传的是后面的形参吗,编译的时候先从其后形参size_t nMaxLength得到声明吗
zhaingbo 2013-04-06
  • 打赏
  • 举报
回复
屏蔽编译器警告。 如果不加这条语句,编译时一般会提示一条警告:未使用的变量nMaxLength;加上则不会再有该警告信息。 nMaxLength这个形参可能被设计为占位,但当前实现却没使用。
wjain 2013-04-06
  • 打赏
  • 举报
回复
不知,等高人解答`~
满衣兄 2013-04-06
  • 打赏
  • 举报
回复
_In_z_count_是个宏,具体可以跟进去看看

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧