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(第四章)的更多相关文章

  1. 《计算机网络》谢希仁(第7版) 第四章 c语言http://c.biancheng.net/cpp/html/3137.html

    第四章 网络层 电信网使用面向连接的通信方式,使电信网络能够向用户提供可靠传输的服务. 互联网设计思路:网络层向上只提供简单灵活的.无连接的.尽最大努力交付的数据报(分组)服务. 网络层不提供可靠传输 ...

  2. [转]Windows Shell 编程 第四章 【来源 http://blog.csdn.net/wangqiulin123456/article/details/7987933】

    第四章 文件的本质 以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志.然而,Windos95(及后来的WindowsNT4.0 ...

  3. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  4. 《Linux内核设计与实现》读书笔记 第四章 进程调度

    第四章进程调度 进程调度程序可看做在可运行太进程之间分配有限的处理器时间资源的内核子系统.调度程序是多任务操作系统的基础.通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的 ...

  5. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...

  7. 精通Web Analytics 2.0 (6) 第四章:点击流分析的奇妙世界:实际的解决方案

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第四章:点击流分析的奇妙世界:实际的解决方案 到开始实际工作的时候了.哦耶! 在本章中,您将了解到一些最重要的网络分析报告,我将 ...

  8. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串

    第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...

  9. 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

    http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...

随机推荐

  1. while循环语句的几种方式

    我们知道,在Python中经常我们要使用循环,其中最常用的是while循环,while有很多结合方式,我们知道,如果一个循环没有结束语句那么就失去了意义,所以我们一定要有结束语句,下面来看看while ...

  2. AngularJS的过滤器$filter

    过滤器(filter)主要用于数据的格式上,通过某个规则,把值处理后返回结果.例如获得数据集,可排序后再返回. ng内置的共有九种过滤器: currency 货币 使用currency可以将数字格式化 ...

  3. 随机抽样一致算法(Random sample consensus,RANSAC)

    作者:桂. 时间:2017-04-25  21:05:07 链接:http://www.cnblogs.com/xingshansi/p/6763668.html 前言 仍然是昨天的问题,别人问到最小 ...

  4. Linux系统OOM killer机制详解

    介绍: Linux下面有个特性叫OOM killer(Out Of Memory killer),会在系统内存耗尽的情况下出现,选择性的干掉一些进程以求释放一些内存.广大从事Linux方面的IT农民工 ...

  5. 取消input默认样式

    有时候input在页面中被聚焦后会出现默认的边框样式,可以通过以下方法取消去除 .input:focus{ outline: none;}

  6. unity游戏设计之背包系统

    这次任务是模仿上图的样子,制作一个类似的背包系统. 上面的链接为:http://www.tasharen.com/ngui/exampleX.html 我们的目标是: 1.实现背包系统的UI界面 2. ...

  7. win彩 百款皮肤任选任换.可视化

  8. 转:Redis使用认证密码登录

    Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...

  9. 控制器controller与指令中的link、controller中变量作用域的关系

    angjualrjs中的作用域与原生js中的函数嵌套原理一致,都是存在作用域的继承.若在子控制器(同样包括在指令中的link或是controllerding中定义变量,此时指令中必须未使用scope独 ...

  10. C语言解析17monipdb.dat(http://www.ipip.net/)免费数据库

    官方给的链接打不开,而且里面的逻辑,每次都会打开文件,所以自己做了点个修改,发上来,借大家参考: #include <stdio.h> #include <stdlib.h> ...