我不懂模板?你能帮助我吗?

时间:2018-05-06 01:04:31

标签: c++

创建一个模板函数来交换存储在作为参数传递给该函数的两个变量中的值

1 个答案:

答案 0 :(得分:0)

真正明智的答案是:

#include <algorithm>

如:

#include <iostream>
#include <algorithm>

main() {
    int x = 1, y = 2;
    std::swap <int> (x, y);
    std::cout << "Expecting 2: " << x << std::endl;
    std::cout << "Expecting 1: " << y << std::endl;
}

因为swap已包含<algorithm>

最好的C ++方法是使用库中已有的内容。了解其中的内容将有助于您编写干净,简洁且功能强大的代码。

如果您必须自己动手,那么只需复制cplusplus中的代码并稍微更改一下,此处我将c更改为t并滑动&结束:

#include <iostream>

template <class T>
void swap (T &a, T &b) {
    T t(a);
    a = b;
    b = t;
}

main() {
    int x = 1, y = 2;
    swap <int> (x, y);
    std::cout << "Expecting 2: " << x << std::endl;
    std::cout << "Expecting 1: " << y << std::endl;
}