一、变量与常量
1. 变量
- 可变性: 变量的值在程序运行过程中可以被修改和读取。声明: 例如
int age = 20;
2. 常量
- 不可变性: 常量的值在声明后不能被修改。声明: 使用关键字
const
声明常量。const int MAX_VALUE = 100;
- 作用: 常量用于表示程序中不应该被改变的值,提高代码的可读性和安全性。
二、auto
自动类型推断 (Automatic Type Deduction)
auto
关键字是 C++11 引入的非常方便的特性,可以简化代码并提高可读性。
编译器自动推断: auto
允许编译器根据变量的初始化值自动推断变量的类型,而无需显式指定。
例如:
auto x = 10; // x 被推断为 intauto y = 3.14; // y 被推断为 doubleauto z = "hello"; // z 被推断为 const char*std::vector<int> myVector = {1, 2, 3};auto it = myVector.begin(); // it 被推断为 std::vector<int>::iterator
适用场景:
- 类型名过长或复杂: 例如在使用标准库容器时,迭代器的类型通常很长,使用
auto
可以简化声明。类型不明确: 某些情况下,表达式的返回类型可能比较复杂或不直观,使用 auto
可以让代码更简洁。提高代码可读性: 在某些情况下,auto
可以让代码更专注于变量的含义,而不是具体的类型。
注意事项:
auto
必须初始化:编译器需要根据初始值来推断类型。auto
的推断结果是明确的,不是简单的“万能类型”。过度使用 auto
可能会降低代码的可读性,尤其是在不清楚变量类型的情况下。应该在提高代码可读性和维护性之间找到平衡。三、常用转义字符 (Escape Sequences)
转义字符用于在字符串中表示一些特殊的字符,这些字符不能直接输入或具有特殊的含义。
\n
: 换行符 (Newline) - 将光标移动到下一行开头。\t
: 水平制表符 (Horizontal Tab) - 将光标移动到下一个制表位。'
: 单引号 (Single Quote) - 用于在单引号包围的字符常量中表示单引号自身,例如 '''
。"
: 双引号 (Double Quote) - 用于在双引号包围的字符串字面量中表示双引号自身,例如 "abc"def"
。\
: 反斜杠 (Backslash) - 用于表示反斜杠自身,例如 "C:\Windows"
。?
: 问号 (Question Mark) - 用于避免某些编译器将 ??
解释为三字符序列。\0
: 空字符 (Null Character) - 表示字符串的结尾,用于 C 风格的字符串。``: 空格 - 虽然不是转义字符,但空格在字符串中也是常用的字符。示例:
#include <iostream>int main() { std::cout << "第一行\n第二行" << std::endl; std::cout << "Name:\tJohn\tAge:\t30" << std::endl; std::cout << "单引号:',双引号:",反斜杠:\" << std::endl; return 0;}