容器reference类型的疑问c++ primer P324:C/C++ code...if (!ilist.empty()){// val and val2 refer to th
容器reference类型的疑问
c++ primer P324:
- C/C++ code
...if (!ilist.empty()){// val and val2 refer to the same elementlist<int>::reference val = *ilist.begin();list<int>::reference val2 = ilist.front();...}/*1. list<int>::reference val = *ilist.begin();是不是相当于int& val = *ilist.begin();begin()返回指向第一个元素的迭代器,那*ilist.begin()就是第一个元素的值。这行语句定义val为一个右值的引用??2. list<int>::reference val2 = ilist.front();是不是相当于: int &rval = first_element_of_ilist;int &val2 = rval;[解决办法]
谁说解引用返回的是右值啦
