gpt4 book ai didi

c++ - 我能知道输入参数是引用(and)还是右值引用(&&)吗?

转载 作者:行者123 更新时间:2023-11-28 05:08:53 27 4
gpt4 key购买 nike

我正在学习 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));
}

我是否只有通过使用调试器跟踪此函数才能知道“元素”是引用 (=&) 还是右值引用 (=&&)?换句话说,我可以在这个函数之前不阅读调试器堆栈就知道吗?我的真实代码有很深的堆栈。我正在使用 eclipse 的 CDT。

非常感谢。

最佳答案

调试器应该显示模板参数 Element 被推导为:

  • T & 表示参数是一个左值。
  • T 表示参数是纯右值。
  • T && 表示参数是一个 xvalue。

关于c++ - 我能知道输入参数是引用(and)还是右值引用(&&)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43959410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com