【C++ Primer plus】【第七章】C++的编程模块

来源:互联网 发布:linux服务器安装vnc 编辑:程序博客网 时间:2024/05/18 02:11

简介:

本章主要描述了函数的基本知识,我需要重新确认的是const和指针的相关结合,和函数指针后面的“可怕用法”


1.C++不能返回数组OK,但是什么叫可以作为结构体或类的组成部分返回?

2.while (n--> 0 ) //CONTINUE UNTIL n reaches 0  到0的返回

3.cin>> ch  用于获取字符,可以跳过空格和换行符,而如果用cin.get()会获取后面的换行符

4.基本类型大小回顾

整体大小:http://c.biancheng.net/cpp/html/437.html

关于长整形:http://baike.baidu.com/view/3522307.htm

关于长double:http://baike.baidu.com/view/8283864.htm

16位系统:long是4字节,int是2字节
32位系统:long是4字节,int是4字节
64位系统:long是8字节,int是4字节

5.函数入参,数组可以以两种形式存在
func(char * A)或 func (CHAR A[])
使用时也是可以A[1], *(A+1)
6.&用于数组时,返回的是整个数组的地址 A和&A[0]是等价的

7.指针+1,步长是指向类型的长度,char是1,结构体就是结构体的长度

8.传递普通变量时传递的是值,传递数组时传递的就是原来的数组,也就是指针。

9.cout 输出默认十进制,要十六进制,加0X

10.cin.clear 需要详细学习

清除cin流,并设置goodbit状态位。
11.数组地址相减真的是 像个的个数,不用除大小,以前以为只有char才可以
12.const 和 指针
A.如果原始数据为const,那么无论如何也不能改变
B.如果原始数据为变量,变量自身可以修改
const char *p时,不能通过指针去修改内容,指针可以指向其他变量
char* const p时,可以去改变内容,但是指针不能改变内容
13.不允许 常量 赋给 非常量指针,说明常量不能 赋给 非常量指针(数组)-------验证出入,需要确认
14.二维数组和指针
 二维数组声明   int sum(int ar2[][4])   和 int sum(int (*ar2)[4])
ar2[r][c] == *(*(ar2+r)+c)
15.char *p = new char[n]
16.和数组的名称是地址不同,结构体的名称就是名称,要地址需要&符号
17.结构体初始化用大括号可以  A a = {X,X};
18.创建结构体要用struct 关键字,如果没有typedef,必须有
19.array对象的使用  std::array<double ,4> array1
20.头文件和命名空间的区别:
namespace是为了解决C++中的名字冲突而引入的。 
什么是名字冲突呢?比如,在文件x.h中有个类MyClass, 
在文件y.h中也有个类MyClass,而在文件z.cpp中要同时 
引用x.h和y.h文件。显然,按通常的方法是行不能的, 
21.头文件和命名空间的区别:
22.递归和函数指针 需要在分析


0 0
原创粉丝点击