第4章

1.求数组元素个数的一种方法:num=sizeof 数组名/sizeof (元素类型)

2.确定字符串所需的最短数组时,别忘了将结尾的'\0'计算在内。表面可以无,内存必须有。

3.'S'表示字符常量,"S"表示两个字符(字符S和\0)组成的字符串,"S"实际上表示的是字符串所在的内存地址。在两个字符串常量中加入(空格、制表符和换行符)对整体没有影响

4. strlen()只计算可见的字符长度,而不把空字符计算在内,因此数组的长度不能短于strlen(数组名)+1

5.cin.getline(name,ArSize)与cin.get(name,ArSize)两个函数都是读取一行输入,直到到达换行符,随后getline()丢弃换行符,get()将换行符保留在队列。cin.getline(name,ArSize)==cin.get(name,ArSize).get()

6.string类#include<string>:能实现赋值拼接附加等操作。求长度int len1=str.size();int len2=strlen(str);

7.原始(raw)字符串,字符表示的就是自己。将"( 和 )”用作定界符,如果要表示字符"(,加上"+*(字符)+*"

如:cout << R"(Jim "KIng" Tutt use "\n" instead of endl.)" << '\n';

Jim "King" Tutt use \n instead of endl

cout << R"+*("(Who wouldn't?)",she whispered.)+*" << endl

(Who wouldn't?)",she whispered.

8.共用体的用途之一:当数据项使用两种或多种格式,可节省空间。

9.枚举常被用来定义相关的符号常量,而不是新类型,例如用枚举定义switch语句中使用的符号常量,如:enum{red,orange,yellow,green,blue,violet,indigo}  为0-6

10.int* 是一种类型,指向int的指针

11.指针在运行阶段分配未命名的内存以存储值——new运算符。为一个数据对象(可以是结构,也可以是基本类型)获得并分配内存的通用格式为 typeName* pointer_name = new typeName;

12.delete:不要用delete释放不是new分配(声明变量)的内存,不要用delete释放同一个内存块两次,如果是new[ ]为数组分配内存,则应使用delete[ ]释放

13.数组名被解释为其第一个元素的地址,而对数组名使用地址运算符时,得到的是整个数组的地址

14.使用new来创建数组以及使用指针来访问不同的元素,只要把指针当做数组名对待即可

15.将字符串赋值给数组,只是复制地址,应使用strcpy()或strncpy(),而不是赋值运算符来将字符串赋给数组

16.用new创建(指针类型)动态结构时,不能将成员运算符句点用于结构名,因为没有名称,只是知道地址,应该用箭头成员运算符—>(指针访问结构体内部用箭头)

17.模板类vector和array:#include<vector>  #include<array>

vector可以在运行阶段调整长度,声明方式为vector<typeName> vt(n_elem),其中n_elem为常量变量都可以。

array对象长度固定,声明为array<typeName,n_elem>arr,其中n_elem只能为常量。数组必须逐个元素复制数据,但array对象可以赋给另一个对象

C++ Primer Plus 6 笔记(2)的更多相关文章

  1. C++Primer快速浏览笔记-类型转换

    bool b = 42; // _b is true_ int i = b; // _i has value 1_ i = 3.14; // _i has value 3_ double pi = i ...

  2. C primer plus 读书笔记第一章

    写在前面: 算法和数据结构是计算机学习的基础,而大部分书籍是用C/C++编写.所以有了把C语言重新学一遍的想法.这个系列主要是记录看C primer plus的一些笔记和部分课后习题的答案,不会总结的 ...

  3. 《C++ Primer》读书笔记 第一章

    读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...

  4. 《C++ primer》学习笔记整理

    简介 本笔记目前已包含<C++ Primer>中的绝大部分内容,但尚有部分小节有所缺漏,如 19.1.19.2 节的笔记尚未整理,会持续更新. 本项目中的学习笔记是在学完一章内容后,对其要 ...

  5. C Primer Plus 学习笔记 -- 前六章

    记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和 ...

  6. C++Primer快速浏览笔记-复合类型

    C++Primer2.3节介绍了两种复合类型:引用和指针 1.引用 引用并非对象,它只是为一个已经存在的对象所起的别名. 一旦初始化完成,引用将和它的初始值对象一直绑定在一起,不能重新绑定到另一个对象 ...

  7. 《C++ Primer》读书笔记—第二章 变量和基本类型

    声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.8比特的char类型计算机表示的实际范围是-12 ...

  8. 《C++ Primer》读书笔记—第一章 开始

    声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.一个函数的定义包含四个部分:返回类型(retur ...

  9. 《C++ Primer》学习笔记 :命名空间的using声明

    最近在学C++,在<C++ Primer>第五版的3.1节中说到使用using声明来使用命名空间中的成员,<C++ Primer>中这样写道: 有了using声明就无须专门的前 ...

  10. 《C++ Primer》学习笔记:迭代器介绍

    <C++Primer>(第五版)中,3.4.1的例题中使用一个名为text的字符串向量存放文本文件中的数据,输出text中的内容,刚开始我这样写: #include <iostrea ...

随机推荐

  1. Numpy中rot90函数实现矩阵旋转

    从NumPy的官方完整查到rot90函数语法格式如下: rot90(m, k=1, axes=(0, 1) m是要旋转的数组(矩阵),k是旋转的次数,默认旋转1次,那是顺时针还是逆时针呢?正数表示逆时 ...

  2. 「CF1313C Skyscrapers」

    题目大意 给出一个长度为 \(N\) 的序列 \(a\) 需要构造出一个长度为 \(N\) 的序列 \(h\) 使得 \(\forall i \in \{1,2,\ldots ,N\} h_i \le ...

  3. 学习 Python,怎能不懂点PEP 呢?

    或许你是一个初入门 Python 的小白,完全不知道 PEP 是什么.又或许你是个学会了 Python 的熟手,见过几个 PEP,却不知道这玩意背后是什么.那正好,本文将系统性地介绍一下 PEP,与大 ...

  4. Flask - 性能分析(Profiling,profiler,profile)

    1. 疑问 @app.cli.command() @click.option('--length', default=25, help='Number of functions to include ...

  5. Spring学习(三)

    DI (Dependency Injection) 1.依赖注入,组件之间的依赖关系由容器在运行期间决定.Ioc容器注入应用程序某个对象,它所需要的外部资源(包括对象,资源,常量数据). birthd ...

  6. CODE 大全网站整站源码分享(带数据库)

    CODE 大全是一个偏向于 JavaEE.JavaWeb,WEB 前端,HTML5,数据库,系统运维,编程技术开发的纯个人学习.交流性质的技术博客,一个很不错的网站,现在我免费分享给大家.对 java ...

  7. postman 使用post方式提交参数值

    参考:https://www.cnblogs.com/haoxuanchen2014/p/7771459.html

  8. AVL-Tree (平衡二叉树)

    看到网上AVL-Tree大多数都是用相同的实现方式 —— 递归进行插入.删除.维护平衡等,而我比较喜欢用带父指针的数据结构,于是想了一下午,用C实现了一个迭代版的. 由于没有暂时没有好的画二叉树的工具 ...

  9. 「CF1023F」Mobile Phone Network

    「CF1023F」Mobile Phone Network 传送门 直接钦定那 \(k\) 条边在最小生成树中,然后把最小生成树树剖一下. 每条其它边的效果就是把该边端点路径上的边的权对该边边权取 \ ...

  10. SpringBoot 集成Spring JDBC

    (1)在pom.xml中添加依赖 <!--spring-jdbc的依赖--> <dependency> <groupId>org.springframework.b ...