C++ 是一门功能强大且广泛应用的编程语言,下面为你介绍一些 C++ 里的重要知识点。
基础语法
- 变量和数据类型:C++ 有多种数据类型,像
int(整数)、float(单精度浮点数)、double(双精度浮点数)、char(字符)、bool(布尔值)等。例如:
cpp
int age = 25;
float height = 1.75;
char grade = 'A';
bool isStudent = true;
- 控制结构:包括
if-else(条件判断)、for(循环)、while(循环)、do-while(循环)等。比如:
cpp
// if-else示例
if (age >= 18) {
std::cout << "成年人" << std::endl;
} else {
std::cout << "未成年人" << std::endl;
}
// for循环示例
for (int i = 0; i < 5; i++) {
std::cout << i << std::endl;
}
- 函数:函数是完成特定任务的代码块,能提高代码的复用性。示例如下:
cpp
int add(int a, int b) {
return a + b;
}
int result = add(3, 5);
面向对象编程
- 类和对象:类是对象的抽象,对象是类的实例。例如定义一个
Person类:
cpp
class Person {
private:
std::string name;
int age;
public:
Person(std::string n, int a) : name(n), age(a) {}
void introduce() {
std::cout << "我叫" << name << ",今年" << age << "岁。" << std::endl;
}
};
Person p("张三", 20);
p.introduce();
- 继承:一个类能够继承另一个类的属性和方法,从而实现代码复用和扩展。例如:
cpp
class Student : public Person {
private:
std::string school;
public:
Student(std::string n, int a, std::string s) : Person(n, a), school(s) {}
void study() {
std::cout << "我在" << school << "学习。" << std::endl;
}
};
- 多态:多态允许不同类的对象对同一消息做出不同响应。多态通过虚函数和继承来实现。示例如下:
cpp
class Shape {
public:
virtual void draw() {
std::cout << "绘制图形" << std::endl;
}
};
class Circle : public Shape {
public:
void draw() override {
std::cout << "绘制圆形" << std::endl;
}
};
Shape* shape = new Circle();
shape->draw();
内存管理
- 栈和堆:栈内存由系统自动管理,而堆内存需要手动分配和释放。使用
new操作符在堆上分配内存,使用delete操作符释放内存。示例如下:
cpp
int* ptr = new int(10);
delete ptr;
- 智能指针:C++11 引入了智能指针,如
std::unique_ptr、std::shared_ptr和std::weak_ptr,它们能自动管理内存,避免内存泄漏。示例如下:
cpp
#include <memory>
std::unique_ptr<int> uptr = std::make_unique<int>(20);
模板
- 函数模板:函数模板可创建通用函数,能处理不同类型的数据。示例如下:
cpp
template <typename T>
T max(T a, T b) {
return (a > b) ? a : b;
}
int maxInt = max(3, 5);
double maxDouble = max(3.2, 5.7);
- 类模板:类模板可创建通用类,同样能处理不同类型的数据。示例如下:
cpp
template <typename T>
class Stack {
private:
T* data;
int top;
int capacity;
public:
Stack(int size) : capacity(size), top(-1) {
data = new T[capacity];
}
~Stack() {
delete[] data;
}
void push(T value) {
data[++top] = value;
}
T pop() {
return data[top--];
}
};
Stack<int> intStack(10);
intStack.push(10);
标准模板库(STL)
- 容器:STL 提供了多种容器,如
vector(动态数组)、list(双向链表)、map(键值对映射)等。示例如下:
cpp
#include <vector>
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int num : vec) {
std::cout << num << " ";
}
- 算法:STL 提供了很多算法,如
sort(排序)、find(查找)等。示例如下:
cpp
#include <algorithm>
std::sort(vec.begin(), vec.end());
这些都是 C++ 的核心知识点,掌握它们有助于你更好地运用 C++ 进行编程。
2609

被折叠的 条评论
为什么被折叠?



