我可以使用“字节数&rdquo来调用memcpy()和memmove()设为零?
我是否需要处理案件,当我无法移动/复制
memmove()
/memcpy()
作为边缘案例
int numberOfBytes = ...
if( numberOfBytes != 0 ) {
memmove( dest, source, numberOfBytes );
}
或者我应该在没有检查的情况下调用该函数
int numberOfBytes = ...
memmove( dest, source, numberOfBytes );
是否需要检查前片段?
没有找到相关结果
已邀请:
3 个回复
妊辽剁茧
的参数指定a的数组长度 函数,
在调用该函数时可以为零。除非明确说明 否则在本子条款中的特定函数的描述中,指针参数 如此调用仍应具有有效值,如7.1.4所述。在这样的电话中,a 找到一个字符的函数找不到,一个比较两个的函数 字符序列返回零,复制字符的函数复制零 字符。 所以答案是否定的;检查是没有必要的(或者是;你可以传递零)。
墩瓣茅械
除了函数调用之外,你甚至不应该有任何性能压力;如果编译器支持这些函数的内在函数/内联,那么额外的检查甚至可能使代码变得微慢一点,因为检查已经在那时完成了。
委婪绷冗诉