1. 核心差异
C 语言作为过程式编程的代表,其设计哲学在于最小化与高效。它关注算法和具体步骤,提供接近硬件的操作能力,将最大自由度交给程序员,信任他们能管理好底层资源。
相比之下,C++ 是多范式语言,在 C 的基础上扩展了面向对象、泛型编程等高级特性。它在保持高性能的同时引入了抽象机制,增强了类型安全,旨在平衡抽象便利与执行效率。
2. 主要特性对比
C 语言特性
#include <stdio.h>
// 结构体仅包含数据
struct Point {
int x;
int y;
};
// 函数定义
double calculate_distance(struct Point p1, struct Point p2) {
int dx = p2.x - p1.x;
int dy = p2.y - p1.y;
return sqrt(dx * dx + dy * dy);
}
// 使用函数指针模拟多态(有限)
typedef void (*Operation)(int);
C++ 特性
#include <iostream>
// 类:数据与方法封装
class Point {
private:
int x, y;
public:
// 构造函数
Point(int x, int y) : x(x), y(y) {}
// 方法
{
dx = other.x - x;
dy = other.y - y;
(dx * dx + dy * dy);
}
Point +( Point& other) {
(x + other.x, y + other.y);
}
};
{
(a > b) ? a : b;
}
{
std::();
} ( std::exception& e) {
std::cerr << e.() << std::endl;
}

