C++ 是一种静态类型的编程语言,它没有内置的动态类型扩展方法。然而,你可以通过使用类、结构体、继承和多态等面向对象编程的概念来实现类似的功能。
在 C++ 中,你可以通过以下方式扩展内置类型:
class MyInt {
public:
int value;
MyInt(int v) : value(v) {}
// 添加自定义方法
void print() const {
std::cout << "MyInt: " << value << std::endl;
}
};
struct MyInt {
int value;
MyInt(int v) : value(v) {}
// 重载加法运算符
MyInt operator+(const MyInt& other) const {
return MyInt(value + other.value);
}
};
template <typename T>
T add(const T& a, const T& b) {
return a + b;
}
auto
关键字和类型推导:auto add(int a, int b) {
return a + b;
}
std::function
和 std::bind
为内置类型添加可调用对象功能:#include <functional>
struct MyInt {
int value;
MyInt(int v) : value(v) {}
// 添加可调用对象功能
std::function<int()> get_value = [this]() { return value; };
};
通过这些方法,你可以在 C++ 中为内置类型添加扩展功能。但请注意,C++ 是一种静态类型的语言,因此扩展内置类型时仍然需要遵循类型规则。