本文共 1232 字,大约阅读时间需要 4 分钟。
C++的I/O操作基于字节流机制,字节流是数据的基本传输单元。输入流接收来自设备(如键盘、网络)的数据,输出流则将数据发送到设备(如显示屏、打印机)。
iostream头文件提供了标准输入和输出流的接口。其中,`std::cout`用于标准输出,`std::cin`用于标准输入。这些流可以通过流运算符进行操作。
`std::cout`连接到默认输出设备(如显示屏),支持流插入运算符`<<`。编译器根据数据类型自动选择合适的输出方式,支持整数、浮点数、字符串和指针等类型的输出。
`std::cin`连接到标准输入设备(如键盘)。流提取运算符`>>`用于从输入流中读取数据,并将其存储在变量中。编译器根据数据类型选择合适的提取方式。
C++中的`.`和`->`是成员运算符。`.`用于对象成员访问,`->`用于指针成员访问。这些运算符用于引用类、结构或共用体的成员。
C语言中的`INT_MAX`和`INT_MIN`定义在`limits.h`头文件中,分别表示32位整数的最大值和最小值。`INT_MAX`为`2^31-1`,`INT_MIN`为`-2^31`。注意`INT_MAX + 1`等于`INT_MIN`。
C语言中使用`NULL`表示空指针,但在C++中推荐使用`nullptr`,因为它带有明确的类型`std::nullptr_t`。`NULL`在C++中是无类型的,可能引发隐式转换问题,而`nullptr`更安全和现代化。
C++中的访问控制修饰符包括`public`、`protected`和`private`。它们决定变量或函数的访问范围。`public`允许所有代码访问,`protected`允许子类和包围类访问,`private`仅允许类及其友元访问。友元包括全局函数和类成员函数。
内存分配分为静态和动态两种方式。静态分配在编译时完成,动态分配在运行时完成。静态对象由编译器管理,动态对象需程序员显式管理,使用`new`和`delete`进行分配和释放。内存分配区包括全局区、文字常量区、程序代码区、堆和栈。
在C++中,`break`跳出当前循环,`continue`跳过当前循环并继续下一次循环,`pass`声明一个不执行任何操作的语句,用于保持程序结构完整性。
C++支持值传递、指针传递和引用传递三种方式。值传递(按值传递)创建实参的拷贝,修改不影响原值。指针传递传递地址,修改影响原值。引用传递传递实参的引用,修改影响原值。
指针传递可以通过值传递、地址传递和引用传递实现。值传递传递指针本身,地址传递传递指针地址,引用传递传递指针的引用。正确使用`const`和`volatile`关键字避免内存泄漏和竞态条件。
转载地址:http://ewtx.baihongyu.com/