C++Primer——《第一章》 开始

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34536551/article/details/83685924

● 当return语句返回一个值时,此返回值的类型必须与函数的返回类型相同

● 每个使用标准库函数的程序都必须包含相关的头文件

● 在大多数系统中,main 函数的返回值被用来指示状态, 返回值0表明成功, 非0的返回值的含义由系统定义, 通常用来指出错误类型

● 类型是程序设计最基本的概念之一, 一种类型不仅定义了数据元素的内容, 还定义了这类数据上可以进行的运算。

● 在C++中,一个表达式产生一个计算结果,它由一个或多个运算对象(通常是)一个运算符组成。

● “ << ” 运算符接受两个运算对象:左侧的运算对象必须是一个ostream 对象,右侧的运算对象是要打印的值。 此运算符将给定的值写到给定的ostream 对象中。 输出运算符的计算结果就是其左侧运算对象。 即, 计算结果就是我们写入给定值的那个ostream 对象。

● 运算符endl, 这是一个被称为操纵符的特殊值。写入endl的效果是结束当前行, 并将与设备关联的缓冲区中的内容刷到设备中, 缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中, 而不是仅停留在内存中等待写入流

注意: 该运算符与“\n" 的区别是 “endl” 除了具备 “\n”的换行功能外, 还调用输出流flush 函数, 刷新缓冲区, 让数据直接写入文件或者显示在屏幕上, 其实这两种都可以, 但如果需要立即显示, 如输出到显示器时, 最好使用 “endl"

如果不需要立即显示, 并且要兼顾代码的执行效率时,可以考虑使用 “\n”, 这样不刷新缓冲区, 会更快,同理,由于没有调用输出流 的flush 函数来刷新缓冲区, 所以这时的数据可能被存在缓冲区内, 没有立即写入设备。

这里写图片描述


● 输入运算符(>>)与输出运算符类似, 它接受一个istream作为其左侧运算对象,接受一个对象作为其右侧运算对象, 它从给定的istream 读入数据, 并存入给定对象中, 与输出运算符类似, 输入运算符返回其左侧运算对象作为其计算结果

注意: 由于此运算符返回其左侧运算对象,因此我们可以将一系列输入请求合并到单一语句中。

● 复合赋值运算符 " += ". 此运算符将其右侧运算对象加到左侧运算对象上,并将结果保存到左侧运算对象中。

● “ /* */ ” 此类注释不能嵌套, 单行注释中的任何内容都会被忽略, 包括嵌套的注释对 也一样会被忽略

● 【 while(cin>>value)】 此表达式从标准输入读取一个数, 保存在value中, 输入运算符返回其左侧运算对象, 在本例子中是 cin, 因此,此循环条件实际上检测的是cin

● 当我们使用一个istream对象作为条件时, 其效果是检测流的状态, 如果流是有效的,即流未遇到错误, 那么检测成功, 当遇到文件结束符, 或遇到一个无效的输入时(例如读入的值不是一个整数),istream对象的状态会变为无效, 处于无效状态的istream对象会使条件变假

● 在C++中, 我们通过定义一个类来定义自己的数据类型, 一个类定义了一个类型, 以及其关联的一组操作, 实际上, C++最初的一个设计焦点就是能定义使用上像内置类型一样自然的类类型

● (.) 成员选择运算符只能用于类类型的对象。 其左侧运算对象必须是一个类类型的对象, 右侧运算对象必须是该类型的一个成员函数名, 运算结果为右侧运算对象指定的成员。

● 当用点运算符访问一个成员函数时,通常是调用该函数。 我们使用调用运算符 ( ()) 来调用一个函数。 调用运算符是一对圆括号,里面放的实参列表(可能为空)。
 

猜你喜欢

转载自blog.csdn.net/qq_34536551/article/details/83685924