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循环中上限应该用一个固定变量来设 ...
随机推荐
- 从resfful API设计到加密算法
众所周知,SOAP 是基于XML的webservice协议,传的数据都是xml格式的,而当下resftul设计比较火,因为快效率高,但是安全性就不及SOAP, SOAP定义了xml-security的 ...
- css实现定高的元素在不定高的容器中水平垂直居中(兼容IE8及以上)
容器设置相对定位 元素设置宽高,并使用绝对定位,上下左右值均为0,margin:auto 如下所示: <!DOCTYPE html> <html> <head lang= ...
- xampp 端口冲突
最近使用xampp ,提示端口有问题,使用xampp自带的 xampp control修改的端口之后还是不行. 如果是apache端口有问题就修改 xampp\apache\conf\ httpd.c ...
- VMware中linux配置2-安装jdk
1.通过共享文件夹,将文件jdk-7u79-linux-x64.tar.gz 复制到/tmp目录下 cp jdk-7u79-linux-x64.tar.gz /tmp 2.解压该文件 tar -zxv ...
- javascript实例备忘
一,javascript动态显示: 如显示效果上图所示: 如图显示鼠标放在百度谷歌等字样上市动态显示其内容明细:代码如下:<head><title></title> ...
- 【译】Learn ES2015——箭头函数
原文:https://babeljs.io/learn-es2015/ 理解也许有偏差,欢迎指正 箭头函数 不同于函数,箭头函数和包裹它的代码拥有同一个this.如果一个箭头函数在一个function ...
- 简述alert和console.log的区别
生活中还是得有发现美好和差别的眼睛~~ 学习前端那么久既然还不知道alert和console.log的差别~~~~ 蓝瘦,香菇~~~ 本菜鸟一直以为alert和console.log其实是一样的用法, ...
- httpd服务的安装、配置和关于php留言本网站的搭建
搭建本地yum仓库的方法 http://www.cnblogs.com/lql123/p/5952788.html yum install httpd -y #安装httpd yum install ...
- iOS:使用代理模式监听开关状态改变事件
记一次解决跨控制器监听开关状态改变的尝试. 为了统一设置UITableViewCell里的内容,自定义了UITableViewCell类的一个基类,命名为SettingCell.SettingCell ...
- Python:循环语句
while 在某种条件下,执行某段程序 >>> w=0 >>> while w<5: ... print 'w :',w ... w=w+1 ... w : ...