云计算百科
云计算领域专业知识百科平台

C++语法

一、C++ 核心语法框架(核心模块梳理)

C++ 语法在 C 语言基础上扩展了面向对象、泛型等核心特性,核心模块可分为 6 大类:

模块核心内容
基础语法 数据类型、变量、常量、运算符、流程控制(分支 / 循环)、函数
面向对象 类 / 对象、封装、继承、多态、构造 / 析构函数、虚函数、访问控制(public/private)
容器与算法 STL 标准库(vector/string/map 等容器、迭代器、常用算法)
指针与引用 指针、引用、动态内存分配(new/delete)、智能指针
高级特性 模板(泛型)、异常处理(try-catch)、命名空间(namespace)
输入输出 cin/cout、文件 IO(fstream)

二、高频核心语法(附极简示例)

1. 基础语法(入门必掌握)
(1)数据类型与变量

cpp

运行

#include <iostream>
using namespace std;

int main() {
// 基本数据类型
int a = 10; // 整型
double b = 3.14; // 浮点型
char c = 'A'; // 字符型
bool d = true; // 布尔型
const int e = 100; // 常量(不可修改)

// 输出变量
cout << "整型:" << a << endl;
cout << "浮点型:" << b << endl;
return 0;
}

(2)流程控制(分支 + 循环)

cpp

运行

#include <iostream>
using namespace std;

int main() {
// 分支:if-else
int score = 85;
if (score >= 90) {
cout << "优秀" << endl;
} else if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}

// 循环:for
for (int i = 1; i <= 5; i++) {
cout << i << " "; // 输出:1 2 3 4 5
}
cout << endl;

// 循环:while
int j = 1;
while (j <= 3) {
cout << j << " "; // 输出:1 2 3
j++;
}
return 0;
}

2. 面向对象核心(C++ 核心特色)

cpp

运行

#include <iostream>
#include <string>
using namespace std;

// 定义类(封装)
class Student {
private: // 私有属性(封装)
string name;
int age;
public: // 公有方法
// 构造函数(初始化对象)
Student(string n, int a) : name(n), age(a) {}

// 成员函数
void showInfo() {
cout << "姓名:" << name << ",年龄:" << age << endl;
}

// 析构函数(释放资源)
~Student() {
cout << "对象已销毁" << endl;
}
};

// 继承示例
class Graduate : public Student {
private:
string major; // 子类扩展属性
public:
Graduate(string n, int a, string m) : Student(n, a), major(m) {}

// 重写(多态基础)
void showInfo() {
cout << "研究生-姓名:" << getName() << ",专业:" << major << endl;
}

// 需补充getName方法(父类添加public string getName() { return name; })
string getName() {
// 实际需在父类暴露name的访问方法,此处简化演示
return "Tom";
}
};

int main() {
// 创建对象
Student s1("Alice", 18);
s1.showInfo(); // 输出:姓名:Alice,年龄:18

Graduate g1("Tom", 22, "计算机");
g1.showInfo(); // 输出:研究生-姓名:Tom,专业:计算机
return 0;
}

3. 指针与引用(C++ 重点难点)

cpp

运行

#include <iostream>
using namespace std;

int main() {
// 指针:存储变量地址
int num = 10;
int *p = &num; // p指向num的地址
cout << "指针取值:" << *p << endl; // 输出:10
*p = 20; // 修改指针指向的变量值
cout << "修改后num:" << num << endl; // 输出:20

// 引用:变量的别名(必须初始化)
int &ref = num;
ref = 30;
cout << "引用修改后num:" << num << endl; // 输出:30

// 动态内存分配
int *arr = new int[5]; // 分配数组内存
for (int i = 0; i < 5; i++) {
arr[i] = i + 1;
}
delete[] arr; // 释放数组内存(避免内存泄漏)
return 0;
}

4. STL 容器(高频实用)

cpp

运行

#include <iostream>
#include <vector> // 动态数组容器
#include <map> // 键值对容器
using namespace std;

int main() {
// vector容器
vector<int> vec;
vec.push_back(1); // 添加元素
vec.push_back(2);
// 遍历容器
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " "; // 输出:1 2
}
cout << endl;

// map容器(键值对)
map<string, int> scoreMap;
scoreMap["Math"] = 90;
scoreMap["English"] = 85;
// 迭代器遍历
for (auto it = scoreMap.begin(); it != scoreMap.end(); it++) {
cout << it->first << ":" << it->second << endl;
}
return 0;
}

三、新手高频易错点

  • 忘记分号:C++ 语句末尾必须加;,漏写会直接编译报错;
  • 指针越界 / 内存泄漏:动态分配内存(new)后必须释放(delete),避免野指针;
  • 引用使用错误:引用必须初始化,且不能指向空值,也不能重新指向其他变量;
  • 类的访问控制:private 属性不能直接访问,需通过 public 方法(封装特性);
  • 命名空间:未加using namespace std;时,需写std::cout/std::cin,否则报错。
  • 总结

  • C++ 核心语法分为基础语法、面向对象、指针 / 引用、STL 容器四大核心模块,其中面向对象和指针是重点;
  • 新手学习需 “边写边练”,每个语法点都要写可运行的极简示例,避免只看不动手;
  • 重点规避内存泄漏、语法格式(分号 / 命名空间)等基础错误,降低调试成本。
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » C++语法
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!