zoukankan      html  css  js  c++  java
  • ca12a_c++顺序容器的操作5_访问容器中的数据元素

    ca12a_c++顺序容器的操作5_访问容器中的数据元素
    访问元素:
    c.back()、、显示最后一个数据
    c.front() 、、显示第一个数据
    c[n],n就是下标,适合vector与deque
    c.at(n),n就是下标,适合vector与deque

    顺序容器:
    vector,
    deque
    list
    txwtech

     1 /*ca12a_c++顺序容器的的操作5_访问容器中的数据元素
     2 访问元素:
     3 c.back()、、显示最后一个数据
     4 c.front() 、、显示第一个数据
     5 c[n],n就是下标,适合vector与deque
     6 c.at(n),n就是下标,适合vector与deque
     7 
     8 顺序容器:
     9 vector,
    10 deque
    11 list
    12 txwtech
    13 
    14 
    15 */
    16 #include <iostream>
    17 #include <list>
    18 #include <vector>
    19 #include <deque>
    20 
    21 using namespace std;
    22 
    23 int main()
    24 {
    25     vector<int> ivec;
    26     ivec.push_back(10);
    27     ivec.push_back(20);
    28     ivec.push_back(30);
    29 
    30     if (!ivec.empty())//先判断是否为空,再使用front,back
    31     {
    32         cout << ivec.front() << endl;//显示第一个数据
    33         cout << ivec.back() << endl;//显示最后一个数据
    34     }
    35 
    36     vector<int>::reference a = ivec.front();//front返回一个引用,所以使用reference
    37     vector<int>::reference b = ivec.back();
    38     cout << a << endl;
    39     cout << b << endl;
    40     cout << *ivec.begin() << endl;//通过指针返回
    41     vector<int>::reference c = *ivec.begin();//*迭代器返回的是一个引用
    42     cout << c << endl;
    43     cout << "使用 *--ivec.end()方法:" << endl;
    44     cout << *--ivec.end() << endl;//也是显示最后一个数据
    45 
    46     cout <<"使用下标显示数据: "<< ivec[0] << endl;//使用下标显示数据
    47     cout << ivec[1] << endl;
    48     //cout << ivec[300] << endl;//[]下标越界,不抛出异常
    49     //cout << ivec.at(300) << endl;//下标越界,at符号可以抛出异常
    50     //可以抛出异常,就可以catch异常
    51     try
    52     {
    53         cout << ivec.at(300)<< endl;
    54     }
    55     catch (out_of_range)
    56     {
    57         cout << "下标越界咯" << endl;
    58     }
    59 
    60 
    61     cout << "使用ivec.at方法:" << endl;
    62     cout << ivec.at(0) << endl;//下标越界,at符号可以抛出异常
    63     cout << ivec.at(1) << endl;
    64 
    65 
    66     return 0;
    67 }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    Ubuntu12.04 下安装QQ
    python下sqlite增删查改方法(转)
    你有哪些想要分享的 PyCharm 使用技巧?
    PEP 8
    macos 下安装virtualenv,virtualenvwrapper,然后在pycharm中正常配置方法日志
    最全Python爬虫总结(转载)
    Git 常用命令详解
    Python 扩展技术总结(转)
    使用setup.py安装python包和卸载python包的方法
    IPython3 notebook 成功配置Python2和Python3内核(Kernel)
  • 原文地址:https://www.cnblogs.com/txwtech/p/12313029.html
Copyright © 2011-2022 走看看