2

我知道 Visual Studio 2010 的标准库已被重写以支持右值引用,这大大提高了它的性能。

gcc 4.4(及更高版本)的标准库实现是否支持右值引用?

4

2 回答 2

4

我从 gcc 4.4 的 STL 中找到了这个:

#ifdef __GXX_EXPERIMENTAL_CXX0X__
  _Vector_base(_Vector_base&& __x)
  : _M_impl(__x._M_get_Tp_allocator())
  {
    this->_M_impl._M_start = __x._M_impl._M_start;
    this->_M_impl._M_finish = __x._M_impl._M_finish;
    this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage;
    __x._M_impl._M_start = 0;
    __x._M_impl._M_finish = 0;
    __x._M_impl._M_end_of_storage = 0;
  }
#endif
于 2010-04-21T07:20:24.667 回答
1

GCC 支持右值引用。不幸的是,libstc++ 页面没有说明库实现是否利用了这一点。

于 2010-04-21T06:39:07.583 回答