我已经四处寻找,但对我没有任何用处。
编写交换方法以交换两个原始值的最佳方法是ObjectiveC
什么?
你知道原始类型有不同的大小,所以如果我们通过类似的东西传递它们void *
,那么我们怎么知道它们的大小?(也许是它们大小的一个额外参数?)
在C#
,它可能是这样的:
void Swap<T>(ref T a, ref T b)
{
T tmp = a;
a = b;
b = tmp;
}
一个想法可能是创建一个具有相同输入类型大小的临时内存块,然后使用类似方法memcpy
或其他方法将它们复制为内存块。
ObjectiveC
但如果有更好的,我更喜欢更自然的东西。