📅  最后修改于: 2023-12-03 15:14:04.111000             🧑  作者: Mango
C++是一种通用的高级编程语言,它具有强大的功能和灵活的语法。以下是C++中一些重要的功能:
C++是面向对象编程(OOP)的重要语言之一,它支持封装、继承和多态等概念。
// 定义一个类
class Shape {
public:
virtual float getArea() = 0;
};
// 继承自Shape
class Circle : public Shape {
public:
Circle(float radius): _radius(radius) {}
float getArea() {
return 3.14159 * _radius * _radius;
}
private:
float _radius;
};
C++支持泛型编程,允许你定义不特定类型的数据结构和算法。这种方式使得代码编写更加通用和可重用。
// 定义一个函数模板
template <typename T>
T getMax(T x, T y) {
return (x > y) ? x : y;
}
// 使用函数模板
int x = 5, y = 10;
int maxInt = getMax<int>(x, y); // 返回10
float a = 2.5, b = 1.8;
float maxFloat = getMax<float>(a, b); // 返回2.5
C++提供了一套灵活的内存管理方式,允许你手动分配和释放内存。这种方式使得程序员能够精确地控制程序的性能和资源使用情况。
// 动态分配一个数组
int* arr = new int[5];
// 释放内存
delete[] arr;
STL(Standard Template Library)是C++标准库的一个重要组成部分,它提供了很多容器、算法和迭代器等模板类,使得C++编程更加高效和方便。
#include <vector>
#include <algorithm>
#include <iostream>
void printVector(std::vector<int> vec) {
for (int elem : vec) {
std::cout << elem << " ";
}
}
int main() {
std::vector<int> vec = {5, 3, 7, 1, 8};
std::sort(vec.begin(), vec.end()); // 对vec进行排序
printVector(vec); // 输出1 3 5 7 8
return 0;
}
C++提供了异常处理机制,允许程序员定义和抛出异常,以及捕获和处理异常。这种方式使得程序的健壮性和可靠性更强。
// 抛出异常
throw std::runtime_error("发生错误!");
try {
// 可能抛出异常的代码块
} catch (std::runtime_error& e) {
// 处理异常
std::cout << "发生错误: " << e.what() << std::endl;
}
总体而言,C++功能非常强大,但同时也要求程序员具备更高的编程技能和注意程序的细节问题。