cpp(第四章)
1.索引比数组长度少1;
2.c++中不能数组赋给另一个数组;只能定义时才能使用初始化;
3.c++11中{}内为空,默认赋值为0,而c++中{}如果只对部分初始化,其他部分将被设置为0;c++11使用{}不能把大类型转化小类型(缩窄转化)
for example float change int;
4.字符串和字符常量,字符常量是字符串编码简写表示,在ascii系统上,如‘S’只是83的另一种写法,而字符串它表示的是N个字符和‘\0’组成的字符串,更糟糕的是
“XXX”实际是上表示的是字符串所在的内存地址。
5.strlen()只计算可见的字符,而不把空字符计算在内。
6.cin使用空白(空格,制表符和换行符)来确定字符串的结束位置。(string)
7.cin.getline()和cin.get(),输入的时候getline会将随后的换行符丢弃,而get将换行符保留在输入序列中(缓存中);在参数中读取的字符个数,函数实际读取
少1,因为需要在结尾处添加空字符;老式实现中没有getline(),get()使输入更仔细,for example 假设用get()将一行读入数组中,如何知道停止读取的
原因是由于已经读取了整行,而不是由于数组已经填满呢?查看下一个输入符,如果是换行符,说明已经读取整行,否则该行中还有其他输入;get()在读取到空
行后将设置失效位(failbit),这意味着接下来的输入将被阻断,可以用cin.clear()清除状态,但空行符还是在缓冲中,需要get(void)吃掉,而getline()在输入
字符串比分配空间长时,会设置失效位,并关闭后面的输入。
8.string类 对象赋值给另一个string对象,被赋值对象的字符串指针指向赋值对象字符串;符字符串常量则重新动态分配空间。(引用计数)
9.使用strcat()函数时要注意接收方所能接收数组的最大数组长度,超过将覆盖相邻的内存(可能导致程序终止,也可能程序继续运行但数据被损坏)。
10.sizeof:The sizeof operator shall not be applied to an expression that has function type or anincomplete type, to the parenthesized
name of such a type, or to an expression thatdesignates a bit-field member。
sizeof为运算符,不能用于函数,既可以在编译期间确定值也可以在运行期间确定值。
11.指针创建时不会自动初始化为nullptr,它的缺省值是随机的,胡乱指向。因此当指针创建时应被初始化或者置为nullptr。
12.指针变量被释放后还是指向原来的位置,只是所指向的内存已经被释放不能使用(野指针),应置为nullptr,防止错误操作。
13.指针和数组区别之一是,可以修改指针的值(++||——)而数组名是常量,另一个区别是sizeof(数组)得到的 是数组的长度,而sizeof(指针)得到的是
保持指针地址数据类型大小。
14.数组的地址short tell_short[10];cout<<tell<<endl<<&tell;数组名被解释为其第一个元素的地址而对数组名用&(取地址符号)是得到的是整个数组的地址,
tell+1 将地址值加上2而&tell+1将地址值加20.
15.cout,如果给cout提供一个字符的地址,则它将从该字符开始打印,直到遇到空字符为止。cout会自动跟踪类型,char变量只会输出一个字符,而字符串则会
直到遇到空字符为止。
16.整型指针,浮点型指针,cout<<指针,输出地址。cout<<*指针,输出变量值;字符型指针,cout<<指针,输出字符,cout<<(int*)指针,输出地址。
16.1一般来说,如果给cout提供一个指针,它将打印地址,但如果指针的类型为char*则cout将显示指向的字符串。如果要显示的是字符串的地址则必须将这种
指针强制转换为另一种指针的类型,如果int*。
17.strcpy(目标地址,要复制的字符串地址),目标内存小于字符串则剩余的部分复制到数组后面的内存字节中,这可能会覆盖程序正在使用的其他内存。
18.strncpy(目标地址,要复制的字符串地址,要复制的最大字符数),如果该函数在到达字符串结尾之前,目标的内存已经用完,则它不会添加空字符。
19.cin.getline(char*,int) AND cin.get(char*,int) 只读取到n-1位字符,最后一位补空白符
cpp(第四章)的更多相关文章
- 《计算机网络》谢希仁(第7版) 第四章 c语言http://c.biancheng.net/cpp/html/3137.html
第四章 网络层 电信网使用面向连接的通信方式,使电信网络能够向用户提供可靠传输的服务. 互联网设计思路:网络层向上只提供简单灵活的.无连接的.尽最大努力交付的数据报(分组)服务. 网络层不提供可靠传输 ...
- [转]Windows Shell 编程 第四章 【来源 http://blog.csdn.net/wangqiulin123456/article/details/7987933】
第四章 文件的本质 以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志.然而,Windos95(及后来的WindowsNT4.0 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 《Linux内核设计与实现》读书笔记 第四章 进程调度
第四章进程调度 进程调度程序可看做在可运行太进程之间分配有限的处理器时间资源的内核子系统.调度程序是多任务操作系统的基础.通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章 ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...
- 精通Web Analytics 2.0 (6) 第四章:点击流分析的奇妙世界:实际的解决方案
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第四章:点击流分析的奇妙世界:实际的解决方案 到开始实际工作的时候了.哦耶! 在本章中,您将了解到一些最重要的网络分析报告,我将 ...
- Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串
第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
随机推荐
- 用eclipes 添加jboss tools中的hibernate tool进行反向工程生成数据库对应的BOJO(Javabean)
用eclipes 添加jboss tools中的hibernate tool进行反向工程生成数据库对应的BOJO(Javabean) 安装: 在help中eclise marksplace中查询JBo ...
- SAP RFC函数远程调试跟踪管理软件
最近在搞OA系统与sap的接口开发,接口太多老是和.net的开发人员打嘴仗,为了避免不必要的纠结,自己做了一个rfc的调试工具,有些问题调试起来也比较容易了.程序是delphi开发的,为了保证程序可以 ...
- HashMap 学习笔记
先摆上JDK1.8中HashMap的类注释:我翻译了一下 /** * Hash table based implementation of the <tt>Map</tt> i ...
- 程序员要拥抱变化,聊聊Android即将支持的Java 8
WeTest 导读 Java 9预计今年也会正式发布,Java 8这个最具变革性且变革性最适于GUI程序的版本,Android终于准备正式支持.从自己开发JavaFx的感受,说一说Java 8应该使用 ...
- 从SQL Server数据库转到Oracle数据库的数据脚本处理
在我们很多情况下的开发,为了方便或者通用性的考虑,都首先考虑SQL Server数据库进行开发,但有时候客户的生产环境是Oracle或者其他数据库,那么我们就需要把对应的数据结构和数据脚本转换为对应的 ...
- PHP中的对象遍历技巧
PHP中的对象遍历 对象的遍历,主要是指遍历对象中的,对外部可见属性.实际上就是用访问限制符public声明的属性,这点大家肯定很熟悉了.并且,在php中,遍历对象居然与遍历数组一样,都可以用使用fo ...
- iOS之copy、strong使用,block特性
身边一同事,我印象在过去三个月,有两次因为使用“copy”修饰UIKit控件的属性,导致程序崩溃.他还一本正经的说我以前一直使用copy. 好了,到这里我们就不得不说说什么时候使用copy.我的印象中 ...
- IO多路复用深入浅出
前言 从零单排高性能问题,这次轮到异步通信了.这个领域入门有点难,需要了解UNIX五种IO模型和 TCP协议,熟练使用三大异步通信框架:Netty.NodeJS.Tornado.目前所有标榜异步的通信 ...
- 【JavaScript你需要知道的基础知识~】
最近开始学习JavaScript,整理了一些相关的基础知识 JS注释方式:// 单行注释(Ctrl+/ )/* 段落注释(Ctrl+shift+/ )*/ [JavaScript基础]JavaScri ...
- java swing 添加 jcheckbox复选框
总体上而言,Java Swing编程有两大特点:麻烦.效果差. 麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclip ...