使用模板还是无效?

时间:2015-03-12 04:37:00

标签: c++ templates

我需要实现一个小函数,它为给定长度的数组进行字节交换。

void myFunc (MYTYPE arrayPointer, const int& length)
{

unsigned int* tmp = (unsigned int*)     arrayPointer; 
for (int j=0; j < length; j = j + 4)
{
  *tmp = htonl (*(tmp));
tmp++;

}

}

我不希望用户在使用该功能时进行类型转换。我想我还有两个选择: 1.用(void *)替换MYTYPE 2.使用模板。

哪个选项更好还是更好?有没有比这两个更好的方法?

1 个答案:

答案 0 :(得分:3)

显然,

模板。您需要enable_if上的sizeof(T)==4