所有的总结都在例子里面

#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <forward_list>
#include <string>
#include <array>using namespace std;#define LENGTH  10
typedef  int TYPE;
typedef  vector<TYPE> VECTORTYPE;
typedef  deque<TYPE> DEQUETYPE;
typedef  list<TYPE> LISTTYPE;
typedef  forward_list<TYPE> FORWARD_LISTTYPE;
typedef  array<TYPE,LENGTH>  ARRAYTYPE;
void print(VECTORTYPE & );
void print(DEQUETYPE & );
void print(LISTTYPE & );
void print(FORWARD_LISTTYPE & );
void print(ARRAYTYPE & );
void print(string &);
void pluralize(size_t ,string &);
void print(list<string> &);
void print(vector<string> &);
int main()
{vector<int> c{1,2,3,4};if(!c.empty()){c.front() = 24;    //c.front() 是引用,所以第一个值改为24auto & v = c.back(); //v是c.back()的引用,即引用的引用,v指向c的最后一个元素v = 1024;        //v 赋值1024,那么c的最后一个元素赋值为1024auto v2 = c.back();  //v2不是最后一个元素的引用,所以v2改变后,最后一个值不改变v2 = 0;}print(c);return 0;
}
void print(VECTORTYPE &vec)
{for(VECTORTYPE::iterator i  = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(DEQUETYPE &vec)
{for(DEQUETYPE::iterator i  = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(LISTTYPE &vec)
{for(LISTTYPE::iterator i  = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(FORWARD_LISTTYPE &vec)
{for(FORWARD_LISTTYPE::iterator i  = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(ARRAYTYPE &vec)
{for(ARRAYTYPE::iterator i  = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(string & s_vec)
{for(string::iterator i = s_vec.begin(); i != s_vec.end() ; ++i)  {cout << *i <<  " ";}cout << endl;
}
void pluralize(size_t cnt,string &word)
{if(cnt > 1)word.push_back('s');//equal to word += 's'
}void print(vector<string> & s_vec)
{for(auto &i :s_vec)cout << i << " ";cout << endl;
}
void print(list<string> & s_list)
{for(auto & i: s_list)cout << i << " ";cout << endl;
}

顺序容器的访问:访问成员函数的返回是引用(和普通数组一样,普通数组的下标返回值也是数组)相关推荐

  1. 几种用函数指针方式来访问类成员函数的方法总结

    前提:假设成员函数不访问类的成员变量. 环境:DEV-C++,别的环境有可能编译无法通过. 代码如下: #include <iostream> using namespace std; c ...

  2. C++《STL和泛型编程》容器不带/带有成员函数总结

    容器不带成员函数count(): array  vector  list  forward_list  deque 容器带有成员函数count(): set/multiset  map/multima ...

  3. c++中空指针访问成员函数

    如果成员函数没有用到this ,那么空指针可以直接访问 如果成员函数用到this 指针,就要注意,要判断是否为空,防止程序崩溃 #include<iostream>using namesp ...

  4. c++ hashset的用法_c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

    c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...

  5. 顺序容器(vector、list、string、deque、forward_list)及迭代器、容器适配器

    文章目录 概述 所有容器都支持的操作 迭代器 迭代器支持的操作 迭代器支持的算术运算 容器类型 size_type iterator 和 const_iterator 容器定义和初始化 拷贝初始化 顺 ...

  6. C++primer第九章 顺序容器 9.1 顺序容器概述 9.2容器库概览

    一个容器就是一些特定类型对象的集合.顺序容器(sequentialcontainer)为程序员提供了控制元素存储和访问顺序的能力.这种顺序不依赖于元素的值,而是与元素加入容器 时的位置相对应.与之相对 ...

  7. C++ primer 第9章 顺序容器

    文章目录 顺序容器类型 确定使用哪种顺序容器 容器库概览 容器操作 迭代器 迭代器支持的所有操作 迭代器支持的所有运算 迭代器范围 对构成范围的迭代器的要求 标准库迭代器范围左闭右开的三种性质 容器定 ...

  8. C++primer十万字笔记 第九章 顺序容器

    顺序容器   容器就是特定类型对象的集合,顺序容器为程序员提供了控制元素存储和访问顺序的能力.这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应.标准库提供了三种容器类型. 顺序容器概述  标 ...

  9. C++类与对象(类中的六大默认成员函数)

    文章目录 类的默认成员函数 构造函数 概念 特征 自己定义构造函数 类中编写 传参方法 编译器自动生成的构造函数 定义变量方式 初始化规则 析构函数 概念 特性 自己定义析构函数 编译器自动生成的析构 ...

  10. C++类和对象成员函数,静态成员,构造函数和析构函数、初始化列表

    类和对象 数据成员的访问 定义成员函数 调用成员函数 私有成员函数 构造函数和析构函数 构造函数成员初始化列表 在构造函数中使用new的注意事项 this指针 const成员函数 运算符重载 友元函数 ...

最新文章

  1. Nature子刊:遗传发育所白洋组发表高通量分离培养和鉴定根系细菌的方法
  2. 写出程序删除链表中的所有接点
  3. java并发编程(2)——wait和notify解析
  4. apache开源项目--HttpComponents
  5. 设计模式(3)——装饰者模式(Decorator,结构型)
  6. 程序员必读的职业规划书 - 思维导图
  7. java usb camera_Android usb camera设备添加
  8. 基于linux的贪吃蛇游戏设计_基于Unreal4的战棋类游戏《棋行傀儡》的设计与实现...
  9. 学习PLC到底要不要买PLC?
  10. IOS 如何让你的应用快速兼容iPhone5
  11. OSChina 周四乱弹 —— 用户体验不好就是要出人命的
  12. 用户管理和用户组管理
  13. 嵌入式C语言学习笔记附图
  14. ready和onload的区别
  15. Microsoft Virtual WiFi Miniport Adapter 使用方法
  16. Python办公自动化:制作报表并发送到邮箱
  17. Android--TabLayout+ViewPager+Fragment实现切页展示
  18. 北京小客车摇号数据的一点质疑
  19. 高观点下的数学:自然数
  20. 一个架构师的价值在于,他不仅能看到系统的美,而且能够在建造系统的时候能够把这些美创造出来...

热门文章

  1. Servlet - Upload、Download、Async、动态注册
  2. 这是霄哥的天气预报,屌不屌?
  3. 演练:创建和使用静态库 (C++)
  4. 职业规划要结合用人单位需求。
  5. Python安装MySQL库详解(解决Microsoft Visual C++ 9.0 is required )
  6. HarmonyOS之深入解析编译构建的配置和代码混淆
  7. Swift之深入解析内存管理的底层原理
  8. 1470. Shuffle the Array
  9. 教小学妹学算法:搜索算法解决迷宫问题
  10. 2017年第八届蓝桥杯C/C++ C组国赛 —— 第四题:小数第n位