1、vertor和数组的区别:

数组的长度固定、而且程序是无法知道一个给定数组的长度,数组没有获取器容量大小的size操作,也不提供puch_back操作在其中自动添加元素

2、数组定义中的类型可以示内置类型或者类类型。除引用之外数组元素的类型还可以是人与的复合类型。没有所有元素都是引用的数组。

3、const类型在静态编译时,其值就存在。其他的类型 Eg:  int 类型 只有在运行时才会存在

4、在函数体外定义的 内置数组,其元素初始化为0.

在函数体内定义的 内置数组,其元素无初始化

5、不管数组在哪里定义,如果其元素为类类型则自动调用该类的默认构造函数进行初始化。如果类没有默认构造函数,则必须要为该数组的元素提供显示的初始化

6、显示初始化不需要指定数组的为数值

eg: int a[] ={0、2、3};

7、在标准功能上,不允许用数组赋值,一些非标准可以,但是那样将无法跨平台使用

8、如果必须在数组中添加新元素,程序员就必须自己管理内存。要求系统重新分配一个新的内存用于存放更多的数组,然后把原数组的所有元素复制到新分配的内存空间中

9、数组越界要通过自己不断的测试,即使通过编译测试的程序也会出现致命的错误

10、导致安全问题的最常见原因是所谓的“缓冲区溢出”。当我们在编程时没有检查下标,并且引用了越出数组或其他类似数据结构边界的元素时,就会导致类似的错误

11、有效指针的三种状态:

(1)保存一个特定对象的地址

(2)指向某个对象后面的另一个对象

(3)或者是0值

(为初始化的指针是无效的 )

12、void*指针指支持几种有限的操作

(1)  与另一个指针进行比较

(2)向函数传递void*指针

(3)从刚函数返回void*指针

13、引用和指针的区别

(1)引用总是指向某个对象,第一引用时没有初始化是错误的

(2)给引用赋值修改的是该引用所关联对象的值而并不是使引用与另一个对象关联

(3)引用已经初始化,就始终指向同一个特定的对象

14、指针的算术操作只有在原指针和计算出来的新指针都指向同一ugeshuzu的元素,或指向该数组存储空间的下一单元时才是合法的。如果指针指向以对象。我们还可以在指针上加1从而获取指向相关的下一个对象的指针

15、只要指针指向数组元素就可以对它进行下标操作

16、C++允许计算数组或对象的超出末端的地址,但不允许对比地址进行解引用操作,而计算数组炒出末端位置之后或数组首地址之前的地址都是不合法的

17、C++语言强制要求指向const对象的指针也必须具有const特性

18、不准使用void*指针,保存const对象,而必须使用constvoid*类型的指针保存const对象的地址

19、不能使用指向const对象的指针修改基础对象,然后如果该指针指向的是一个非const对象,可用其他方法修改其所指的对象

20、const限定符可以放在类型的前面,也可以放在类型的后面。

21、如果指针Cp所指向的字符数组没有Null结束符。则此循环将会失效。这时,循环会从Cp指向的位置开始读数,直到遇内存中某处Null结束符为止

22、数组类型变量三个重要限制

(1) 数组长度固定不变

(2)在编译时必须知道其长度

(3)数组只在定义它的块语句内存中

23、每一个程序在执行过程是都占用一块可用的内存空间,用于存放动态分配Udell对象,此内存空间称为程序的自由存储区域堆

24、动态数组长度后面的一对空圆括号,多数组元素做值初始化

25、对于动态分配的数组,其元素只能初始化为元素类型的默认值,而不能像数组变量一样,用初始化列表为数组元素提供各不相同的初值。

C++Primer 一的更多相关文章

  1. C Primer Plus 学习体会

    本月刚刚开始学习<C primer plus>,之前课上草草学过一遍,讲到指针就结束了.现在重新开始看感觉难度不大只是刚开始接触有些语言细节比较琐碎.学习这一周的体会如下: 诸多前辈推荐的 ...

  2. C++ Primer Plus 第六版笔记

    C++ Primer Plus 第六版笔记 关于对象声明的思考 转自:http://www.cnblogs.com/weiqubo/archive/2009/11/02/1930042.html C+ ...

  3. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  4. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  5. 再读《C++ Primer》——变量和基本类型

    刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内 ...

  6. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  7. C Primer Plus_第5章_运算符、表达式和语句_编程练习

    Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...

  8. C++Primer 5th 练习 12.19

    这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C+ ...

  9. [翻译]Primer on Cognitive Computing(认知计算入门)

    Source Kelly J., Primer on Cognitive Computing 20150216. 侵删,联系方式:zhoujiagen\@gmail.com. 按A candidate ...

  10. c++ Primer 第四版 第一阶段 const总结

    由于期末值考一门软件安全,所以果断看起c++Primer ,因为之前看谭浩强的c++感觉没什么用啊.所以这本书每阶段做个总结!!! 1.Const限定符作用: 在for循环中上限应该用一个固定变量来设 ...

随机推荐

  1. HTCondor安装

    192.168.30.253 master     cd /etc/yum.repos.dwget http://research.cs.wisc.edu/htcondor/yum/repo.d/ht ...

  2. 网上找的Gif图片解析类

    这个是搜到的大部分的答案 下面贴出来代码 public class MyGifView extends View { private long movieStart; private Movie mo ...

  3. MAC OSX环境下cordova+Ionic的安装配置

    一.简介 1.Ionic是什么 IONIC 是目前最有潜力的一款 HTML5 手机应用开发框架.通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用. 它使用 JavaSc ...

  4. 修改XML指定标签的内容

    修改Xml指定标签内容(我这是去掉指定标签内容的空格) 其实就是个很简单的方法,需要的盆友直接拿走. test.xml <?xml version="1.0" encodin ...

  5. SharePoint 根据时间筛选

    最近在整SP列表 老大要求用列表规范周报格式. 提出要在一个视图内查看上周一至周日的内容 翻了下资料想到了以下几种方法 1.在视图页面添加时间筛选器webpart,用参数传入列表筛选 2.在列表添加按 ...

  6. 更新Debian软件源

    更新Debian软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份一下软件源 sudo vi /etc/apt/source ...

  7. centos mongodb cluster install 完全版

    分享一则用yum安装的mongodb初始化脚本. install_mongodb.sh会安装mongodb所需的基本环境. 配置副本集的时候会需要辅助文件hosts.conf. 说明:该示例为一主一丛 ...

  8. js中正则表达式 ---- 现成

    1 . 校验密码强度 密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间. ^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 2. 校验中 ...

  9. dll版本冲突的解决方法

    问题描述 当运行站点或者控制台等程序时,如果项目引用的dll版本与其它dll所依赖的dll版本不一致,就会报未能加载程序集的错误.错误信息为: 未能加载文件或程序集"Newtonsoft.J ...

  10. 对copy、mutableCopy理解

    Objective - C 中有很多在日常项目中经常用到的常用代码,在这里着重的讲一下关于copy 和 mutableCopy 的区别以及相关用法. Objective - C 中可变对象和不可对象经 ...