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. CSAcademy Beta Round #4 Swap Pairing

    题目链接:https://csacademy.com/contest/arhiva/#task/swap_pairing/ 大意是给2*n个包含n种数字,每种数字出现恰好2次的数列,每一步操作可以交换 ...

  2. 【外文翻译】 为什么我要写 getters 和setters

    原文作者: Shamik Mitra 原文链接:https://dzone.com/articles/why-should-i-write-getters-and-setters 当我开始我的java ...

  3. mybatisPeizhixml文件的层次结构

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...

  4. xmlplus 组件设计系列之零 - xmlplus 简介

    xmlplus 是什么 xmlplus 是博主写的一个 JavaScript 框架,用于快速开发前后端项目. xmlplus 基于组件设计,组件是基本的构造块.评价组件设计好坏的一个重要标准是封装度. ...

  5. Python全栈之路-Day33

    1 time模块 #!/usr/bin/env python # __Author__: "wanyongzhen" # Date: 2017/4/7 import time # ...

  6. ORB_SLAM2之Pangolin的安装与问题处理

    前言 本篇博客中,我们主要介绍了在安装ORB_SLAM2所需的第三方库Pangolin的过程中遇到的一些问题及解决方法. 1.Pangolin是什么? Pangolin是一个用于OpenGL显示/交互 ...

  7. PHP填补数字前后的0

    PHP数字填补0 经常会遇到这样的问题: 自然数字是0,1,2,3...而我们需要的却是满足多少多少位数的数字,如:001,002. 在ID,编号,学号中我们会经常用到补全前面或者后面的空位(一般为前 ...

  8. 纯净CentOS7.2 yum源配置与使用yum 安装系统工具net-tools

    本节我们来讲CentOS 的yum 源配置 一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器 ...

  9. 从foreach语句枚举元素看数组

    在foreach语句中使用枚举,可以迭代数组或集合中的元素,且无须知道集合中的元素的个数.如图显示了调用foreach方法的客户端和集合之间的关系.数组或集合实现带GetEnumerator()方法的 ...

  10. python object takes no parameters

    class Song(object): def __init__(self,lyrics): self.lyrics = lyrics def sing_me_a_song(self): for li ...