我试图理解为什么not_a_ref
不是参考。我知道我可以将其作为参考auto &
。我在标准中挖掘了一段时间,但迷路了,无法弄清楚这种行为是在哪里定义的。
例子:
#include <vector>
#include <iostream>
#include <type_traits>
std::vector<int> stuff;
std::vector<int>& get_stuff()
{
return stuff;
}
int main()
{
auto not_a_ref = get_stuff();
if( std::is_reference<decltype(not_a_ref)>::value )
std::cout << "is_reference true" << std::endl;
else
std::cout << "is_reference false" << std::endl;
if( ¬_a_ref != &stuff )
std::cout << "definately not a reference" << std::endl;
return 0;
}