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. Java创建数组的三种方法

    ■ 第一种: int[] arr=new int[6]; arr[0] = 1; arr[1] = 2 arr[2] = 3; arr[3] = 4; arr[4] = 5; arr[5] = 6; ...

  2. c++11实现异步定时器

    c++11提供了丰富的时间和线程操作函数,比如 std::this_thread::sleep, std::chrono::seconds等.可以利用这些来很方便的实现一个定时器.     定时器要求 ...

  3. Android 7.1.1 系统截屏

    frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java Tak ...

  4. 【BZOJ4428】[Nwerc2015]Debugging调试 记忆化搜索+分块

    [BZOJ4428][Nwerc2015]Debugging调试 Description 你看中的调试器将不会在这件事上帮助你.有代码可以通过多种方式在调试与正式发布的间隙发生不同的行为,当出现这种情 ...

  5. POI各Jar包的作用(转)

    目前POI的最新发布版本是3.10_FINAL.该版本保护的jar包有: Maven artifactId Prerequisites JAR poi commons-logging, commons ...

  6. [MongoDB] 安装MongoDB配置Replica Set

    MongoDB的环境主要包括StandAlone,Replication和Sharding. StandAlone:单机环境,一般开发测试的时候用. Replication:主从结构,一个Primar ...

  7. OGG双向复制

    注意:在进行如下配置之前,先在源数据库(原来的目标数据库)端添加辅助的redolog配置:      1.SQL> alter database add supplemental log dat ...

  8. 【ArcGIS for SivlerLight api(3)】基础图层增删改查

    1.基础底图通常使用TiledLayer或者ArcGISDynamicLayer. 本质上都是在本地加载栅格图片.后台生成策略不同而已.从Vs2010的控件栏上拖过来的Map控件默认添加的底图是Esr ...

  9. spring boot 打包方式 spring boot 整合mybaits REST services

    <build> <sourceDirectory>src/main/java</sourceDirectory> <plugins> <plugi ...

  10. D2 Magic Powder -1/- 2---cf#350D2(二分)

    题目链接:http://codeforces.com/contest/670/problem/D2 This problem is given in two versions that differ ...