【发布时间】:2013-04-26 01:17:20
【问题描述】:
我需要创建一个交换函数来交换两个 T 类型的参数。
以下是我的代码,但一定有问题。
谁能改进我的代码?
template<typename T>
void swap (T& a, T& b)
{ T temp = a;
a = b;
b = temp;
}
我应该将它作为常量引用传递吗?但我正在改变价值观对吗?
请告诉我谢谢!!
【问题讨论】:
-
这样没问题,不过你应该顺便使用
std::swap。 -
您遇到了什么问题?据我所知,它看起来是正确的。
-
如果你通过 const-reference 传递它不能被修改,编译器会惩罚你。
-
尝试编写模板
void swap ( T& a, T& b )
标签: c++ templates reference pass-by-reference swap