1.C++基础(下)
类当前可以理解成结构体一样c是character的意思(字母)
内存中有整形浮点型,而文件只有字符流的概念,整形有原反补,浮点数有浮点数存储规则,这是内存里的存储,方便运算,移位,加减乘除等,有自己的规则方便,到其他文件里只有字符了,文件 网络只有字符了,不管用cout还是printf,整形都是转换成了字符,转换成字符才能输出。,给控制台consol
包头文件#inluce<iostream>
要么指定命名空间,要么展开



依次将整形浮点数空格字符以字符形式插入到控制台(自动识别类型)
endl就是换行
都可以很自由,这么玩的原因是可以自动识别类型
不能这么写,流插入是一个函数调用
,只能有一个参数,二元操作符只能由两个操作数,cout是全局库里的一个对象,需要找到他的定义地方,在头文件,展开,编译时候就能找到,cout在头文件又包在std里所以不展开,不指定,也找不到,所以指定或者展开
为了和老版本区分才不加。h(stream),C语言输入输出要指定格式,C++自动识别
>>从控制台提取数据转换成各种类型,可以依次提取一个也可以多个
严格来说这么写:
endl实际是个函数,行为等价于put了个换行符,现在说不清
流插入也可以插入文件,字符串
我这没有包stdio但是也能
因为stream可能包了stdio。h,但有些编译器还不行。直接用,报错再去包。
为什么多个空格可以,因为这是个字符串啊
C++也能控制小数点
C++默认保留五位
不用了解C++,要用直接用C,printf,兼容,可以打印地址
scnaf需要取地址,因为形参改变不影响实参,C++>>这里是函数调用,这里不用取地址,因为后面有引用。
C++要兼容C就要付出一些代价,io输入输出都是带缓冲区的,到一定程度刷新出去,兼容你就要关注你缓冲区,printf在前面就要先刷新你的缓冲区,付出一些代价
也可以换printf scanf



全缺省有四种传参方式1.一个都不传,2.传一个,也可以穿两个,也可以三个
半缺省不能一个都不穿

默认开四个空间,用个半缺省很爽
插入一千个需要扩容,如果用这个默认值,要不断扩容,最开始是四个,第五个开扩4 8 16....1000多扩容十几次,有效率损失,如果确定知道1000个,就可以给1000,初始化给1000,很好

如果声明地方给10,定义地方给4,以谁为准,
C语言不支持同名函数,C++支持,不同作用域是允许同名函数的
只看int main 感觉用得同1函数
C语言就不行,只能两个不同名字

以下两个f1函数构不构成重载,,,构成,,,但是调用存在歧义

可以这么解决,但这啊时候就不是函数重载了,函数重载要求同一作用域,这个问题没解决,不是从函数重载角度解决的

&放在类型后面就是引用

交换两个变量要以传地址方式,有了引用以后就不需要这个方式了
rx是x的别名。rx改变就是x改变



引用替代了二级指针
pNode等价于结构体指针 这种既没脱离指针也没脱离引用,让这块更复杂了
更多推荐
所有评论(0)