-
当函数返回一个引用时,则返回一个指向返回值的隐式指针。这样,函数就可以放在赋值语句的左边。
double& setValues(int i) { // 返回double类型的引用 double& ref = vals[i]; return ref; // 返回第 i 个元素的引用,ref 是一个引用变量,ref 引用 vals[i] } -------------------------------------------------------------------------------------------------------- double vals[] = {1.11, 2.22, 3.33, 4.44, 5.55}; setValues(3) = 8.08; // 给引用赋值, 改变了数组第四个值
-
标准错误流(cerr)
预定义的对象 cerr 是 iostream 类的一个实例。cerr 对象附属到标准输出设备,通常也是显示屏,但是 cerr 对象是非缓冲的,且每个流插入到 cerr 都会立即输出。
cerr 也是与流插入运算符 << 结合使用的 -
标准日志流(clog)
预定义的对象 clog 是 iostream 类的一个实例。clog 对象附属到标准输出设备,通常也是显示屏,但是 clog 对象是缓冲的。这意味着每个流插入到 clog 都会先存储在缓冲区,直到缓冲填满或者缓冲区刷新时才会输出。
clog 也是与流插入运算符 << 结合使用的 -
从文件读取流和向文件写入
#include<fstream> #include<iostream>
C++ 标准库 fstream,它定义了三个新的数据类型:
- ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。
- ifstream 该数据类型表示输入文件流,用于从文件读取信息。
- fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它 可以创建文件,向文件写入信息,从文件读取信息。
打开文件open()
模式标志 描述 ios::app 追加模式。所有写入都追加到文件末尾。append ios::ate 文件打开后定位到文件末尾。at end ios::in 打开文件用于读取。 ios::out 打开文件用于写入。 ios::trunc 如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0。 文件指针位置: istream 的 seekg(“seek get”)和关于 ostream 的 seekp(“seek put”)。
// 定位到 fileObject 的第 n 个字节(假设是 ios::beg) fileObject.seekg( n ); // 把文件的读指针从 fileObject 当前位置向后移 n 个字节 fileObject.seekg( n, ios::cur ); // 把文件的读指针从 fileObject 末尾往回移 n 个字节 fileObject.seekg( n, ios::end ); // 定位到 fileObject 的末尾 fileObject.seekg( 0, ios::end );
C++学习3
于 2022-10-01 21:08:20 首次发布