【发布时间】:2011-07-23 13:53:40
【问题描述】:
这是一个简单的例子;
template <typename T>
void foo(T t) {}
std::string str("some huge text");
foo(str);
我的问题是如何强制编译器通过引用传递 str 不修改函数 foo?
【问题讨论】:
-
如果
foo没有被编码来处理引用,你为什么要这样做? -
@Mat:严格来说,它的编码既不是处理引用也不是非引用。其唯一参数的类型取决于模板参数。 (当然,如果打算以这种方式使用,您通常会在函数模板参数列表中看到
T& t。)
标签: c++ pass-by-reference