C++ 中的 Ada 子类型等效项

2024-03-05

C++ 是否提供类似于 Ada 的功能subtype缩小类型?

E.g.:

type Weekday is (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
subtype Working_Day is Weekday range Monday .. Friday;

不,不是原生的。

您所描述的内容可能最好表示为作用域枚举,并附有一个单独的作用域枚举,其中包含与“父”作用域枚举共享数字表示的枚举子集。

您可以进一步定义两者之间的一些转换,但是如果没有反思,就不可能使其全部优雅且直观,至少在没有硬编码和重复大量内容的情况下不可能,这反而违背了目的。

在进行 C++ 编程时,最好尝试完全放弃其他语言编程所灌输的思维方式。

话虽这么说,这实际上是一个相当不错的功能想法,尽管我不会屏住呼吸!

解决方法:只需使用枚举,并在需要的地方应用范围检查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的 Ada 子类型等效项 的相关文章

随机推荐