p105~p108:

1、迭代器与数组的不同:迭代器的索引值必须是无符号类型,数组的索引无此要求。

2、使用数组的时候编译器一般会把它转化为指针。

3、auto ia2(数组名);的结果是:获得一个指向ia的第一个元素的指针。

4、decltype(数组名) ia3;的结果是:获得一个数组。

5、指针与迭代器类似,两个指针相减(参与运算的指针必须是指向用一数组)的结果是一种名为有符号 ptrdiff_t的标准库类型。

6、标准库函数 begin和 end。示例:

#include<iterator>
using std::begin;
using std::end;
for (int *b = begin(arr); b != end(arr); ++b) {
cout << *b << endl;
}

7、只要指针指向的是数组中的元素,都可以执行下表运算。例如:int *p = &ia[2];则 p[0]等价于ia[2],p[k]等价于 *(p+k)。

8、遍历数组的几种方式。

(***)

遇到的问题

1、+=的优先级比 - 的低。p1 += p2 - p1; 等价于 p1 = p1 + (p2 - p1);
验证方法:(p1 += p2) - p1;非法。指针不能够相加。

练习 3.34

功能:将p2的值赋给p1

当p1是const point时,该操作是非法的。

练习 3.35

#include<iostream>
using std::cout;
using std::endl;
int main()
{
int arr[];
int *e = &arr[];
for (int *b = arr; b != e; ++b) {
*b = ;
}
// 验证
for (int x: arr) {
cout << x << endl;
}
return ;
}

练习3.36

1

#include<iostream>
using std::cout;
using std::endl;
#include<iterator>
using std::begin;
using std::end;
int main()
{
// 默认相同类型
int arr1[];
int arr2[]; // 比较索引范围
int size_arr1 = end(arr1) - begin(arr1);
int size_arr2 = end(arr2) - begin(arr2);
if (size_arr1 != size_arr2) {
cout << "Differen. " << endl;
return ;
}
// 比较数组内容
for (int i = ; i != size_arr1; ++i) {
if (arr1[i] != arr2[i]) {
cout << "Different. " << endl;
return ;
}
}
cout << "Same arr. " << endl;
return ;
}

2

#include<iostream>
using std::cout;
using std::endl;
#include<vector>
using std::vector;
int main()
{
vector<int> ivec{, , };
vector<int> ivec2{, , };
if (ivec == ivec2) {
cout << "Same vector. " << endl;
} else {
cout << "Different. " << endl;
}
return ;
}

c++第十八天的更多相关文章

  1. javaSE第十八天

    第十八天    192 1:Map(掌握)    192 (1)定义:    192 (2)Map和Collection的区别?    192 (3)Map接口功能概述(自己补齐)    192 A: ...

  2. IT第十八天 - 类的封装、继承、重载、上周总结★★★

    IT第十八天 上午 封装 1.关键字this,是表示该类在实例化时的对象,即this.表示为该对象的属性 2.类的数据保护,set.get方法的写法规则,为了之后的反射机制的读取数据,set方法中对于 ...

  3. OCM_第十八天课程:Section8 —》RAC 数据库 _ RAC DB 搭建/RAC DB 配置使用

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  4. 孤荷凌寒自学python第七十八天开始写Python的第一个爬虫8

    孤荷凌寒自学python第七十八天开始写Python的第一个爬虫8 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天止基本完成了对docx模块针 ...

  5. 孤荷凌寒自学python第六十八天学习并实践beautifulsoup模块1

    孤荷凌寒自学python第六十八天学习并实践beautifulsoup模块1 (完整学习过程屏幕记录视频地址在文末) 感觉用requests获取到网页的html源代码后,更重要的工作其实是分析得到的内 ...

  6. 孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库

    孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第四天.今天的感觉是,mongoDB数据 ...

  7. 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成

    孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...

  8. 孤荷凌寒自学python第三十八天初识python的线程控制

     孤荷凌寒自学python第三十八天初识python的线程控制 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.线程 在操作系统中存在着很多的可执行的应用程序,每个应用程序启动后,就可以看 ...

  9. 孤荷凌寒自学python第二十八天python的datetime.date模块

     孤荷凌寒自学python第二十八天python的datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.toordinal() 此方法将访问从公元1年1月1日至当 ...

  10. 孤荷凌寒自学python第十八天python变量的作用范围

    孤荷凌寒自学python第十八天python函数的形参与变量的范围 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.在python的函数中各种不同的形式参数在定义的先后顺序上有规定: 必须 ...

随机推荐

  1. RxJava && Agera 从源码简要分析基本调用流程(2)

    版权声明:本文由晋中望原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/124 来源:腾云阁 https://www.qclo ...

  2. html-withimg-loder

    由于 webpack 对 html 的处理不太好,打包 HTML 文件中的图片资源是相对来说最麻烦的.这里需要引用一个插件—— html-withimg-loder // 打包 HTML 文件中的图片 ...

  3. 2015.10.9js(页面坐标)

    关于js鼠标事件综合各大浏览器能获取到坐标的属性 1.page随滚动条变化(pageY会增加滚动条滚动的距离),兼容性:除IE6/7/8不支持外,其余浏览器均支持; 2.clientX/Y获取到的是触 ...

  4. [分享]收集的Linux学习资源

    下面是我收集的一些Linux资源,与大家分享.大家共同学习,一起进步. 国内的专业Linux网站(GB) 1. ChinaUnix:http://www.chinaunix.net/ 2. Linux ...

  5. Android自定义类似ProgressDialog效果的Dialog

    Android自定义类似ProgressDialog效果的Dialog. 方法如下: 1.首先准备两张自己要定义成哪样子的效果的图片和背景图片(也可以不要背景). 如我要的效果: 2.定义loadin ...

  6. 在ScrollView嵌套GridView,使GridView不滚动

    <ScrollView>       ……   <LinearLayout> </LinearLayout>       ……</ScrollView> ...

  7. web.xml的contextConfigLocation作用及自动加载applicationContext.xml

    web.xml的contextConfigLocation作用及自动加载applicationContext.xml 转自:http://blog.csdn.net/sapphire_aling/ar ...

  8. JAVA学习基础知识总结(原创)

    (未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...

  9. centos7上搭建ftp服务器(亲测可用)

    1.安装vsftpd 首先要查看你是否安装vsftp [root@localhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 (显示以上相关信息也就安 ...

  10. hdu6386 Age of Moyu【最短路】

    Age of Moyu Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) To ...