每天看几页C++书,并总结知识点。
目录
>n)">1. 读取数量不定的输入while(cin>>n)
2. 输入输出流
3. C++取整
4. 引用
5. 指针
1. 读取数量不定的输入while(cin>>n)
比如预先不知道要给多少个数求和时,使用while(cin>>n)进行判断。比如输入的是整数,那么直至遇到不是整数的才跳出循环。其他的无法跳出循环。
#includeusing namespace std; int main() { int sum=0; int n,m; while(cin>>n) sum+=n; cout< 2. 输入输出流
>>表示输入运算符,即cin>>n,将输入流cin中的数据赋给n;
<<表示输出运算符,即cout<
endl是一个操纵符,用处是结束当前行,并将缓冲区的内容刷新到设备中。如cout<
3. C++取整
round:四舍五入
ceil:向上取整
floor和int:向下取整
4. 引用
引用即别名,它不是一个对象,只是一个已知的对象起的另一个名字。
int sum=3; int &n=sum;比如n就是sum的引用,其中一个值改变,另一个值也会改变,被绑定在一起。
(1)引用不是对象,所以引用不能绑在引用上;
(2)引用只能绑在对象上,不能绑在字面值(常量)或者表达式的计算结果;
5. 指针
指针跟引用有所不同:
(1)指针本身是一个对象,允许赋值和拷贝(但是也必须指向对象,不能指向常量);
(2)无需在定义时赋初值(野指针,随便指向谁);
需要注意,指针指向一个元素,赋值用取地址符&。
int a=1; int *n=&a; *n=*n+2;需要注意:
(1)定义时赋值用int *n=&a,后面赋值时去掉*:n=&a;
(2)利用指针访问对象:如果指针指向了一个对象,则允许通过解引用符(*)来访问对象。此时*p跟对象是等价的,改变*p就是改变对象的值;
后面时用*是解引用符:*p表示变量,即p指向的变量。此时*p跟变量是等价的,改变*p就是改变变量的值;
(3)定义空指针:即什么也不指向
int *a=0; int *b=NULL; int *c=nullptr;注意:是指针p为0,不是指针值*p为0。
(4)指针可以多次赋值,即改变其指向的对象;
引用不能改变:改变引用就是改变对象的值。
(5)void *a:void类型的指针。指向一个不知道什么类型的对象,只能用来输出地址,不能用来操作。
总结:今天看了以下内容:
(1)读取不定量输入:使用while(cin>>n),直到输入不匹配时停止;
(2)输入输出流:没啥重点;
(3)C++取整:四种;
最后两个重点:
(4)引用:等价于另一个对象的别名,本身不是一个对象,不能改变引用;
(5)指针:本身是一个对象,指向另一个对象,可以通过自己改变指向对象的值,也可以指向别的对象,可以为空;
指针重点用于调用函数时传参数使用,改变实参本身的值!!!



