C++primer第四版第四章数组与指针

原创 2016年12月02日 15:23:26

Talk is cheap, show me the code.

  1. 现代C++尽量不是用指针和数组,而是使用迭代器和string,vector。

  2. 数组是不能改变长度的,两个数组不能直接赋值来实现复制,两个数组不能直接比较大小,必须通过比较每个数组元素来比较大小。vector可以改变长度,两个vector也可以通过直接赋值来实现复制,两个vector可以通过直接使用关系运算符来比较大小。

    vector<int> vect = {1, 2, 3} //right
    vector<int> vect1(1,2,3);  //wrong

  3. 指向const常量的指针和指向变量的const指针:

    int a = 1;
    const int b =2;
    const int *p1 = &b; //right p1的值可以改变,不能通过*p1改变b的值
    const int *p2 = &a; //right 但是不能通过*p2修改a的值,p2的值可以改变
    int *const p3 = &a; //right 指向a的const指针,p3的值不能改变,但是可以通过*p3改变a的值
    const int *const p4 = &b; //right 不能修改p4的值,也不能通过*p4修改b的值

    typedef string *pstring;
    string s = "hel";
    const pstring p = &s; //等同于 string *const p = &s是指向s的const指针,而不是指向const的指针

  4. string转换成数组可以使用c_str()函数。

    string str = "hello";
    const char *str1 = str.c_str();

  5. 数组转换成vector可以使用vector的构造函数。

    int arr[5] = {1, 2, 3, 4, 5};
    int *parr = a;
    arrlen = 5;
    vector<int> vect(parr, parr + arrlen);(拷贝整个数组)

  6. 指针数组和数组指针:

    `int *p[4] //指针数组,每个元素都是一个指针
    int (*p)[4] //数组指针,这是一个指针,指向一个包含4个元素的数组

版权声明:本文为博主原创文章,未经博主允许不得转载。

C++Primer (第四版) 第四章 数组和指针

第四张 数组和指针 与vector类型相比,数组的显著缺陷在于:数组的长度是固定的,而且程序员无法知道一个给定数组的长度。数组没有获取其容量大小的size操作,也不提供push_back操作在其中...
  • Jff316948714
  • Jff316948714
  • 2014年02月21日 00:05
  • 703

C++Primer 中文版 第五版 第四章课后习题答案

前言:自己做的,如果有错误,要提出来哟... //4.1 105 //4.2 *(vec.begin()); *(vec.begin())+1; //4.3 可以接受..利大于弊嘛....
  • Little_boy_z
  • Little_boy_z
  • 2016年06月03日 18:24
  • 873

【重学《C++Primer第四版》】第四章、数组和指针

由于在C++中经常使用数组和指针,在此就不多说了。 Details of knowledge 1.在使用下标访问元素时,vector使用vector::size_type作为下标的类型,而数组...
  • u013637931
  • u013637931
  • 2015年04月02日 16:21
  • 344

C++ Primer 第四版中文完整版 和答案完整版

最近想再看一遍C++ Primer ,于是在网上找了第四版的电子版和习题答案 完整版的,现在传到CSDN上面供大家免费下载。希望能帮助到大家...... 本版本的电子版书籍和答案全部是完整版的。...
  • BBOOT
  • BBOOT
  • 2014年06月28日 15:12
  • 2323

《C++Primer》 第四章 数组和指针

数组和指针,这是C++语言提供的两种类似于vector和迭代器类型的低级复合类型。 尽量使用vector和迭代器类型,只有在强调速度时才使用数组和指针。 数组:长度是固定的,而且程序员无法知道一个...
  • wangwangwar
  • wangwangwar
  • 2010年08月16日 21:56
  • 341

C++primer学习笔记第四章-数组与指针

C++初学者对C++primer的记录
  • u013897509
  • u013897509
  • 2016年10月23日 13:27
  • 96

C++ Primer 第4版中的Sales_item.h源码

转载地址:C++ Primer 第四版        Sales_item.h文件源码如下: #ifndef SALESITEM_H #define SALESITEM_H #include ...
  • stpeace
  • stpeace
  • 2015年03月19日 23:19
  • 5593

C++Primer第四章

 习题4.7 编写必要的代码将一个数组赋给另一个数组,然后把这段代码改用Vector实现,考虑如何把一个Vector赋给另一个Vector. #include #inclu...
  • liufang1a2b
  • liufang1a2b
  • 2015年10月11日 21:44
  • 244

C++primer第四章(二):数组和指针——指针

二、指针 1、什么是指针: 指针保存的是另一个对象的地址。   2、指针的定义和初始化: 每个指针都有一个与之关联的数据类型,该数据类型决定了指针所指向的对象的类型。 2.1 指针变量的定...
  • likewenkaixin
  • likewenkaixin
  • 2011年09月26日 16:47
  • 364

C++Primer第五版 第四章习题答案(1~10)

1:运算符优先级的问题 主要记住小括号的利用、算术>逻辑>关系。 求值结果为:105 2:括号是无视优先级和结合律的,加上括号意味着很大的改变 (a) 可改为 *(vec.begin())  (b...
  • misayaaaaa
  • misayaaaaa
  • 2016年12月18日 15:31
  • 2427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++primer第四版第四章数组与指针
举报原因:
原因补充:

(最多只允许输入30个字)