Rust to modern C++ 02: Enums and Smart Pointers
前言: 本文章主要用于个人学习记录. 我学习过Rust, 接触过现代C++代码, 但未做系统性学习, 本文章尝试做一些学习梳理. 如有错误, 欢迎批评指正. 参考资料: Effective Modern C++ Enums and Smart Pointers Enums 参考 Effective Modern C++ Item 10. Rust的Enum和OCaml中的Variant非常相似,功能强大且支持模式匹配。 enum Message { Quit, Move {x: i32, y: i32}, Write(String), ChangeColor(i32, i32, i32) } 而C++中的Enum则没有这么强大的功能。首先,C++98 风格的Enum被称为unscoped enums, 因为enum中定义的变量会“溢出”到作用域中来,例如: enum Col