zoukankan      html  css  js  c++  java
  • C++ Primer习题9.28

    int  main( )
    {
    /*编写程序将一个list容器的所有元素赋值给一个vector容器
    * 其中list容器中存储的是指向C风格字符串的 char* 指针
    * 而vector容器的元素则是string类型
    *
    */
    //a[ ]是一个指针数组,每个元素存放指向一个字符串的指针
    char *a[ ] ={"go", "fucking", "shit!"};
    //a[i]是指向字符串的指针,输出a[i]将输出第a[i]指向的字符串
    cout<<a[0]<<""<<a[1]<<""<<a[2]<<endl;
    // a+i 是指向 a[i] 的指针,输出 a+i 将输出a[i]的地址
    cout<<a<<""<<a+1<<""<<a+2<<endl;
    // *(a+i)等效于a[i]
    cout<<*a<<""<<*(a+1)<<""<<*(a+2)<<endl;

    //该语句将a 到 a+3 标记的范围的值复制给clist容器
    //即将 *a ,*(a+1),*(a+2) (亦即a[0], a[1], a[2])复制给clist
    //因此 clist存放的是指向字符串的指针
    list<char*> clist(a, a+3);

    vector<string> svec;
    //将list容器的所有元素赋值给一个vector容器
    //由于clist的元素类型是指向字符串的指针
    //而 svec的元素类型是 string,因此
    //该语句将clist中指针所指向的字符串复制给svec
    svec.assign(clist.begin(), clist.end());

    //输出 list 的所有元素
    //由于解引用 *citer得到 a[i], 因此也将输出a[i]指向的字符串
    for(list<char*>::iterator citer=clist.begin(); citer!=clist.end(); ++citer )
    cout<<*citer<<"";

    //输出vector 的所有元素
    for(vector<string>::iterator siter=svec.begin(); siter!=svec.end(); ++siter)
    cout<<*siter<<"";
    return 0
    }
  • 相关阅读:
    遥感影像数据产品级别概述
    数据传输中的成帧
    帧同步
    I、Q信号是如何产生的,I、Q信号复用的作用
    调制解调技术
    基带信号、载波信号和宽带信号
    浅谈MVP架构及开发模式
    剑指offer代码 vs2013执行
    进程的状态
    死锁的必要条件及避免
  • 原文地址:https://www.cnblogs.com/haigege/p/2258646.html
Copyright © 2011-2022 走看看