我正在学习c++。有时,我想知道在调试期间,作为函数输入的“元素”是引用(=&)还是rvalue引用(=&&)。
// 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));
}我是否只有通过用调试器跟踪这个函数才能知道“元素”是引用(=&)还是rvalue引用(=&&)?换句话说,在这个函数之前,我可以在不读取调试器堆栈的情况下知道它吗?我真正的代码有很深的堆栈。我用的是日食CDT。
非常感谢。
发布于 2017-05-14 01:51:13
调试器应该显示模板参数Element所推导的内容:
T &表示该参数是一个值。T表示该参数是一个prvalue。T &&表示该参数是xvalue。https://stackoverflow.com/questions/43959410
复制相似问题