相关疑难解决方法(0)

为什么`const T&`不确定是const?

template<typename T>
void f(T a, const T& b)
{
    ++a; // ok
    ++b; // also ok!
}

template<typename T>
void g(T n)
{
    f<T>(n, n);
}

int main()
{
    int n{};
    g<int&>(n);
}
Run Code Online (Sandbox Code Playgroud)

请注意:b是的const T&,++b没关系!

为什么const T&不确定是const?

c++ templates const const-reference function-templates

57
推荐指数
1
解决办法
2670
查看次数