为什么没有c标准的内存交换函数,它可能看起来像这样:
int memswap(void *ptr1, void *ptr2, size_t nbytes)?
我知道这很容易写,但我认为libc可以做一些很棒的技巧来加速它,就像一些实现为memcpy所做的那样。
发布于 2008-09-21 15:21:51
这不是例行公事需要的。
这些想法可能已经被考虑和丢弃了,因为很难提出一个通用的算法。别忘了,C语言是一门古老的语言,扩展必须是通用的。
可能的错误条件:-
当要交换的范围重叠时的空指针行为
最佳算法也可能取决于您正在做什么,因此可以由您直接编写更好的代码。
使用temp结构和assignment
https://stackoverflow.com/questions/109249
复制相似问题