设为首页 加入收藏

TOP

STL vector中的rbegin方法(5)(一)
2015-07-20 17:57:20 来源: 作者: 【 】 浏览:5
Tags:STL vector rbegin 方法
public member function

std::vector::rbegin

  • C++98
  • C++11
  •       reverse_iterator rbegin() noexcept;
    const_reverse_iterator rbegin() const noexcept;
    
    Return reverse iterator to reverse beginning 返回一个反向的首元素. 例子: #include
    #include
    #include
    using namespace std;
    int main()
    {
    vector vi;
    vi.push_back(5);
    vi.push_back(999);
    cout<<*vi.rbegin()<



    }
    运行结果: \
    可以看到,vi里面元素排列顺序为{5,999},而运用rbegin()返回的迭代器指向的正是最后一个元素的位置,但这个位置和end()的位置是不同的,因为end()指向的是最后一个元素再后面的一个位置(超尾迭代器).

    Returns a reverse iteratZ??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcjwvZW0+IHBvaW50aW5nIHRvIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIHZlY3RvciAoaS5lLiwgaXRzIDxlbT5yZXZlcnNlCiBiZWdpbm5pbmc8L2VtPikuPC9wPgo8cD63tbvY0ru49ta4z/LX7rrz0ru49tSqy9i1xLe0z/K1/LT6xvcgo6jP4LWx09q007rzzfnHsL+0o6k8L3A+Cjxicj4KCjxwPjxkZm4+UmV2ZXJzZSBpdGVyYXRvcnM8L2Rmbj4gaXRlcmF0ZSBiYWNrd2FyZHM6IGluY3JlYXNpbmcgdGhlbSBtb3ZlcyB0aGVtIHRvd2FyZHMgdGhlIGJlZ2lubmluZyBvZiB0aGUgY29udGFpbmVyLjwvcD4KPHA+t7TP8rX8tPrG97XEz/K687X8tPqjurWx1Pa807jDt7TP8rX8tPrG97XEyrG68sbkyrW4w7X8tPrG98rHz/LI3cb3tcS/qs23zrvWw9LGtq+hozwvcD4KPHA+wP3I56O6PC9wPgo8cD4jaW5jbHVkZSA8aW9zdHJlYW0+PGJyPgojaW5jbHVkZSA8dmVjdG9yPjxicj4KI2luY2x1ZGUgPGl0ZXJhdG9yPjxicj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDs8YnI+CmludCBtYWluKCk8YnI+Cns8YnI+CnZlY3RvcjxpbnQ+IHZpOzxicj4KdmkucHVzaF9iYWNrKDUpOzxicj4KdmkucHVzaF9iYWNrKDk5OSk7PGJyPgp2aS5wdXNoX2JhY2soMjIyKTs8YnI+CnZlY3RvcjxpbnQ+OjpyZXZlcnNlX2l0ZXJhdG9yIHZyPXZpLnJiZWdpbigpOzxicj4KY291dDw8KnZyPDxlbmRsOzxicj4KdnImIzQzOyYjNDM7Ozxicj4KY291dDw8KnZyPDxlbmRsOzxicj4KPGJyPgo8YnI+Cjxicj4KPGJyPgp9PGJyPgo8L3A+CjxwPr3hufujujwvcD4KPHA+PGltZyBzcmM9"https://www.cppentry.com/upload_files/article/49/1_cishl__.png" alt="\">

    可以看到,vr++之后,vr的位置其实是向前移动了!


    rbegin points to the element right before the one that would be pointed to by member end.

    rbegin指向的元素位置刚好就是end()所指向的前一个。


    Notice that unlike member vector::back, which returns a reference to this same element, this function returns a reverse random access iterator.

    需要注意的是,不同于back(),back()返回的是一个引用,这个方法返回的是一个反向的随机访问迭代器。


    Parameters

    none

    Return Value

    返回值:

    A reverse iterator to the reverse beginning of the sequence container.

    返回一个反向迭代器指向顺序容器的反向的开头。


    If the vector object is const-qualified, the function returns a const_reverse_iterator. Otherwise, it returns a reverse_iterator.

    如果这个vector对象具有const属性,那么这个方法返回的iterator也将具有const属性,否则,返回一个普通的reverse_iterator.


    Member types reverse_iterator and const_reverse_iterator are reverse random access iterator types (pointing to an element and to a const element, respectively). See vector member types.

    reverse_iterator的是一个反向的随机访问迭代器。


    Example

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    // vector::rbegin/rend
    #include 
                     
    #include 
                     
    
    int main ()
    {
      std::vector<int> myvector (5);  // 5 default-constructed ints
    
      std::vector<int>::reverse_iterator rit = myvector.rbegin();
    
      int i=0;
      for (rit = myvector.rbegin(); rit!= myvector.rend(); ++rit)
        *rit = ++i;
    
      std::cout << "myvector contains:";
      for (std::vector<int>::iterator it = myvector.begin(); it != myvector.end(); ++it)
        std::cout << ' ' << *it;
      std::cout << '\n';
    
      return 0;
    }
    Edit & Run


    Output:
    myvector contains: 5 4 3 2 1
    

    Complexity

    Constant.

    Iterator validity

    No changes.

    该方法不会对其他迭代器的有效性造成影响。


    Data races

    The container is accessed (neither the const

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 2486 树形DP 下一篇HDU 1069 Monkey and Banana(DP ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: