我正在学习c ++。 有时,我想知道"元素"作为以下函数的输入,在调试期间是参考(=&)或右值参考(=&&)。
// This is an example code to explain my question simply.
template <typename Element>
void add_container_side(Element&& element) {
static std::vector vec;
vec.push_back(std::forward<Element>(element));
}
我是否有办法知道&#34;元素&#34;仅通过使用调试器跟踪此函数来引用(=&amp;)或右值引用(=&amp;&amp;)?换句话说,在此函数之前,如果不读取调试器堆栈,我可以知道它吗?我真正的代码有很深的堆栈。我正在使用日食的CDT。
非常感谢。
答案 0 :(得分:1)
调试器应该显示模板参数Element
被推导出来的内容:
T &
表示参数是左值。T
表示参数是prvalue。T &&
表示参数是xvalue。