C++ primer笔记——第一章 快速入门

本文介绍了C++程序的基本结构,包括main函数的作用、函数的构成要素及返回值的意义,并详细阐述了C++中标准输入输出流的使用方法,如cin、cout、cerr等的特性与重定向技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 main函数是唯一被操作系统显示调用的函数。

2、函数的四个元素:返回类型、函数名、形参表、函数体。

3、返回值类型必须和函数的返回类型相同,或者可以转换为函数的返回类型。

4、大多数系统中,main函数返回值是一个状态指示器。返回0表示main函数成功执行完毕,返回其他非零值有操作系统定义的含义。

5、GNU编译器:g++  prog.cpp -o prog

       微软编译器:cl  -GX  prog.cpp

6、 系统不同,如何处理和是否处理报告main函数运行失败也不同。

7、 C++没有直接定义输入或输出的任何语句,而是通过标准库提供。

8、 iostream库的基础是istream和ostream类型,分表表示输入流和输出流。流是指要从某种IO设备上读入或者写出的字符序列,字符是随时间顺序生成或消耗的。

9、 标准输入和输出对象:cin、cout、cerr、clog,一般情况下,系统将这些对象与执行程序的窗口联系起来。运行程序时,大部分操作系统提供了重定向方法。

#include <iostream>
#include <fstream>
using namespace std;
 
ifstream fin("input.txt");
ofstream fout("output.txt");
streambuf *cinbackup;
streambuf *coutbackup;
void main()
{
    coutbackup= cout.rdbuf(fout.rdbuf());
    cinbackup= cin.rdbuf(fin.rdbuf());
    cout<<"Hello world"<<endl; 
    char line[100];
    cin>>line;
    cout<<line<<endl;
    // restore standard streambuf
    cin.rdbuf(cinbackup);
    cout.rdbuf(coutbackup);
}

c形式的:

freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);

cmd方式:


10、cout和cerr的主要区别就是cout可以利用cmd命令行参数的方式进行重定向,而cerr则不行。cerr不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示。而cout是一个有缓冲的输出。但是cerr也可以通过rdbuf方法重定向到文件中。

11、 预处理指示:#include <iostream>

12、 C++中每个表达式都会产生一个结果,通常是将操作符作用到其操作数所产生的值。当操作符是输出操作符时,结果是操作数的值,即输出操作返回的值是输出流本身。

13、 endl-操纵符:写入输出流时,具有换行的效果,并刷新与设备相关的缓冲区,通过刷新缓冲区用户可以立即看到写入到流中的输出。

14、 使用标准库中的名字:使用名空间程序员可以避免无意使用了与标准库中所定义相同的名字而导致冲突。标准库定义的名字是定义在命名空间中的。

          ::作用域操作符,scope operator

15、 cout将每个操作数输出到标准输出,iostream库定义了接受全部内置类型的输入输出操作符版本。

16、 单行注释、成对注释,复合赋值操作符,语句块。

17、 C++程序的缩排和格式

18、 退出for循环,在for循环开始定义的int i一般不可访问,然后并非所有的编译器都有这个要求。标准化之后,c++中for循环内的变量是不可访问的。

19、 编辑-编译-调试

20、 从键盘输入文件结束符:windows  control+z; unix  control+d。

21、 类定义放入一个文件中,要使用该类的任何程序都必须包含文件,文件名通常和定义在头文件中的类名一样。

22、 每个类定义一种类型,类型名和类名相同。

23、 使用标准库定义的头文件用<>, 使用自定义的头文件用" "。

24、 成员函数:也称类方法。成员函数只定义一次,但被视为每个对象的成员,使用同一类型的所有对象共享同一个定义。

25、 点操作符:调用要操作的对象的成员,左操作数必须是类类型的对象,右操作数必须制定该类型的成员。

26、 main函数的返回值被视为状态指示器。

27、 cerr不缓冲,通常用于不是程序正常逻辑部分的错误和其他输出;clog默认情况下,写到clog是带缓冲的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值