关于c++中方法名前面的双冒号

#include "iostream"
using namespace std;
template <typename T>
void swap(T &a, T &b)
{
    T tmp = a;
    a = b;
    b = tmp;
    a++;
    b++;
}

void TestSwap()
{
    int iA = 10;
    int iB = 20;
    double dC = 1.1;
    double dD = 2.1;
    char *str1 = "ABC";
    char *str2 = "abc";

    ::swap(iA, iB);
    cout << iA << "," << iB << endl;

    std::swap(dC, dD);
    cout << dC << "," << dD << endl;

    ::swap(str1, str2);
    cout << str1 << ", " << str2 << endl;
}

int main()
{
    TestSwap();
    system("pause");
    return 0;
}

双冒号代表的是作用域,若加上双冒号指全局作用域。

原文地址:https://www.cnblogs.com/phpzhou/p/5769989.html