admin管理员组文章数量:1437126
【C++】C++成为大神的登神长阶【入门篇(2/100)】
这一篇我们来学习两个入门知识点
- C++的输入输出流
- 引用 这两个是C++入门的开篇知识点,对于理解C++代码是很必要的知识点 其他入门知识点请访问:C++入门知识和起源
C++的输入输出流
- < iostream> 是InputOutputStream的缩写,是标准的输⼊、输出流库,定义了标准的输⼊、输出对象。
- std::cin 是istream类的对象,它主要⾯向窄字符(narrowcharacters(oftypechar))的标准输⼊流。
- std::cout 是ostream类的对象,它主要⾯向窄字符的标准输出流。
- std::endl 是⼀个函数,流插⼊输出时,相当于插⼊⼀个换⾏字符加刷新缓冲区。
- <<是流插⼊运算符,>>是流提取运算符。(C语⾔还⽤这两个运算符做位运算左移/右移)
- 使⽤C++输⼊输出更⽅便,不需要像printf/scanf输⼊输出时那样,需要⼿动指定格式,C++的输⼊ 输出可以⾃动识别变量类型
- ⼀般⽇常练习中我们可以usingnamespacestd,实际项⽬开发中不建议usingnamespacestd。
输入输出流的代码实践
代码语言:javascript代码运行次数:0运行复制#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
int a = 0;
double b = 0.1;
char c = 'x';
cout << a << " " << b << " " << c << endl;//面向窄字符的标准输出流,和std库中的一个函数
std::cout << a << " " << b << " " << c << std::endl;//不用手动指定输出格式,C++输入输出可以自动识别
scanf("%d%lf", &a, &b);
printf("%d %lf\n", a, b);
return 0;
}
引用
引用的格式和特征
- 引用概念:
- 公用一块空间
- 取别名
- 引用的格式:
代码语言:javascript代码运行次数:0运行复制类型&引用别名=引用对象
int a=0;
int &b=a;//这里相当于b和c是a的别名
int &c=a
int &d=b//也可以跟别名b去别名,d相当于还是a的别民航
//这里取地址,我们会发现,地址都是一样的
cout<<&a<<endl;
cout<<&b<<endl;
cout<<&c<<endl;
cout<<&d<<endl;
- 引用的特性
- 引用在定义的时候必须初始化
- 不初始化就会报错
- 引用一旦引用一个实体,就不能再引用其他实体
int &b=a;
int &c=a
int &d=b
int e=20;
d=e//这里并非让d引用e,这里是一个赋值,因此C++引用不能改变指向
-引用不能代替指针!!!!
- 因为不能改变指向
- 设置引用不是为了代替指针,而是为了辅助指针
- 引用的使用
- 应用的真实场景(实践)
- 减少拷贝(传参和传返回值)
- 如果把aa1拷贝给aa,会有四千个字节需要拷贝
- 如果在这里用引用,会减少拷贝
- 引用做返回值
- 如果不加引用对数据进行修改的时候,会报错
- 问题引出:我们将函数返回的值,在主函数进行修改的时候,发现无法修改数据,编译器会报错?为什么呢?
- 如果不是引用返回,返回的数据先给一个临时对象,值先拷贝给临时对象上面,进行操作时候,对临时空间进行操作
- 解决方法:
代码语言:txt复制- 如果不是引用返回,返回的数据先给一个临时对象,值先拷贝给临时对象上面,进行操作时候,对临时空间进行操作
代码语言:txt复制-
本文标签: CC成为大神的登神长阶入门篇(2100)
版权声明:本文标题:【C++】C++成为大神的登神长阶【入门篇(2100)】 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747458544a2698454.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论