添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
double real, imag; Complex operator+(const Complex& other) { return Complex{real + other.real, imag + other.imag};

Python 示例:

class Complex:
    def __init__(self, real, imag):
        self.real = real
        self.imag = imag
    def __add__(self, other):
        return Complex(self.real + other.real, self.imag + other.imag)

参考: C++ 运算符重载

模板元编程

C++ 支持模板用于泛型编程,允许类型安全的代码重用。Python 缺乏直接等价物,依赖鸭子类型。

C++ 示例:

template<typename T>
T add(T a, T b) {
    return a + b;

Python 示例:

def add(a, b):
    return a + b  # 无类型约束

参考: C++ 模板

C++ 支持多重继承,允许一个类从多个基类继承。Python 也支持多重继承,但使用不同的方法解析顺序。

C++ 示例:

class A {};
class B {};
class C : public A, public B {};

Python 示例:

class A: pass
class B: pass
class C(A, B): pass  # 使用 MRO(方法解析顺序)

参考: C++ 继承

常量限定符

C++ 使用 const 定义不可变变量,而 Python 没有直接等价物来表示不可变性。

C++ 示例:

const int x = 10;

Python 示例:

x = 10  # 无 const 关键字

参考: C++ 常量限定符

指针和引用

C++ 使用指针和引用进行内存访问,而 Python 抽象了这些概念。

C++ 示例:

int& ref = x;  // 对 x 的引用

Python 示例:

ref = x  # 无指针或引用

参考: C++ 指针和引用

预处理指令

C++ 使用预处理指令进行宏和条件编译,而 Python 没有预处理器。

C++ 示例:

##define PI 3.14

Python 示例:

PI = 3.14  # 无预处理器

参考: C++ 预处理指令

C++ 和 Python 都支持异常处理,但语法和机制不同。

C++ 示例:

try {
    // 可能抛出异常的代码
} catch (std::exception& e) {
    // 处理异常

Python 示例:

# 可能抛出异常的代码 except Exception as e: # 处理异常

参考: C++ 异常处理

C++ 允许根据参数类型进行函数重载,而 Python 不直接支持此功能。

C++ 示例:

void func(int x);
void func(double x);

Python 示例:

def func(x):
    # 无重载,在函数内处理类型

参考: C++ 函数重载

静态与动态类型

C++ 是静态类型的,需要类型声明,而 Python 是动态类型的,允许变量类型在运行时改变。

C++ 示例:

int x = 5;

Python 示例:

x = 5  # 动态类型

参考: C++ 类型系统