Open utterances-bot opened 2 months ago
更像C++隐式构造
class StringWrapper {
public:
std::string m_value;
StringWrapper(const std::string& value) : m_value(value) {}
};
// 函数,接受 StringWrapper 类型的参数
void display(const StringWrapper& strWrapper) {
std::cout << "Value: " << strWrapper.m_value << std::endl;
}
int main() {
std::string myString = "Hello, World!";
// 这里将自动调用 StringWrapper 的构造函数
display(myString); // 隐式转换为 StringWrapper
return 0;
}
如果只是从转换的角度来考虑的话,的确更像是隐式构造而非重载。
不过可能是C++ 隐式转换和隐式构造出过太多坑, Rust对"隐式"的东西都不大感冒,转换都要通过明确的 trait 来实现。
Rust模拟C++的函数重载 | 自由庄园
1 函数重载(function overloading) 所谓的函数重载,指的是某些语言支持创建函数名相同,但函数签名不同的多个函数,所谓的函数签名,既指参数类型,也指
https://ramsayleung.github.io/zh/post/2024/rust%E6%A8%A1%E6%8B%9Fc++%E7%9A%84%E5%87%BD%E6%95%B0%E9%87%8D%E8%BD%BD/