gpt4 book ai didi

c++ - 枚举与数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:27:29 26 4
gpt4 key购买 nike

我在想什么会更好:枚举声明或字符串数​​组:

enum MonthName{January, February, March, April, May, June, ...)

string MonthName[12] = {"January", "February", "March", "April", "May", "June", ...)

因为对我来说这似乎并不重要。

这个变量只会被一个函数访问,根据输入的数字显示月份。

最佳答案

如果你想显示月份的名称,一个enum对你一点好处都没有。枚举类型定义中的标识符仅对编译器可见;你不能在运行时打印它们。

您需要字符串数组(或者可能是 const char* 的数组)。

月份的名称也可以通过标准库使用 strftime() 获得。在 <ctime> 中声明的函数(来自 C 标准库的 <time.h> header )。使用 strftime() 获取给定月份编号的月份名称并不简单(您必须先构建一个 struct tm 对象)。它确实具有为当前区域设置使用月份名称而不是硬连线为英语的优势。

并且不要忘记数组索引从 0 开始; 12 月的索引为 11,而不是 12。

关于c++ - 枚举与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com