C++Primer 一
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 一的更多相关文章
- C Primer Plus 学习体会
本月刚刚开始学习<C primer plus>,之前课上草草学过一遍,讲到指针就结束了.现在重新开始看感觉难度不大只是刚开始接触有些语言细节比较琐碎.学习这一周的体会如下: 诸多前辈推荐的 ...
- C++ Primer Plus 第六版笔记
C++ Primer Plus 第六版笔记 关于对象声明的思考 转自:http://www.cnblogs.com/weiqubo/archive/2009/11/02/1930042.html C+ ...
- 《3D Math Primer for Graphics and Game Development》读书笔记2
<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
- 再读《C++ Primer》——变量和基本类型
刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内 ...
- 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 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- C++Primer 5th 练习 12.19
这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C+ ...
- [翻译]Primer on Cognitive Computing(认知计算入门)
Source Kelly J., Primer on Cognitive Computing 20150216. 侵删,联系方式:zhoujiagen\@gmail.com. 按A candidate ...
- c++ Primer 第四版 第一阶段 const总结
由于期末值考一门软件安全,所以果断看起c++Primer ,因为之前看谭浩强的c++感觉没什么用啊.所以这本书每阶段做个总结!!! 1.Const限定符作用: 在for循环中上限应该用一个固定变量来设 ...
随机推荐
- Android 数据存储五种方式
1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等,分别是: ① 使用Shared ...
- duilib的caption上的Edit无法激活
当窗口设置标题栏时,鼠标等控件可以相应,edit无法响应. 主要和WindowImplBase::OnNcHitTest 虚函数有关. LRESULT WindowImplBase::OnNcHitT ...
- angularjs自定义过滤器
实现一个按输入框中的数据筛选的功能,筛选可按电影的名称.年份.评分检索框: <input type="text" placeholder="可检索名字评分和年份&q ...
- 【Duke-Image】Week_4 Image restoration
Chapter 5 Image Restoration and Reconstruction 图像复原与重建 5.1 A Model of the Image Defradation/Restorat ...
- IIS发布网站出现“未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。”的解决方法
未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈 ...
- 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配
引用第三方的 fineui 库依然使用旧版本导致.更换 fineui为新版,或找到源码更改引用 为新版,问题解决.
- IE10、IE11和Microsoft Edge的Hack
IE10.IE11和Microsoft Edge的Hack 随着Win10的推广,Microsoft Edge浏览器已经越来越普遍,但是IE11也是伴随其中,尾大不掉. 首先,了解一下概念,如下图:微 ...
- linux php redis 扩展安装
安装redis服务端 1 进入软件的下载路径 cd /soft wget http://download.redis.io/redis-stable.tar.gz tar -zxvf redis-st ...
- java IO学习
1.如何将byte[]转换为String byte byt[] = new byte[1024]; int b = file.read(byt); //b是byt的实际读取到的长度 String st ...
- UIScrollView无法滚动的解决办法及UIScrollView的代理(delegate)
1•如果UIScrollView无法滚动,可能是以下原因: Ø没有设置contentSize ØscrollEnabled = NO Ø没有接收到触摸事件:userInteractionEnabled ...