函数返回字符串而不是整数是不是很糟糕?(C++)

2 c++ string int return function

我还是比较新的编程.我正在使用SDL进行游戏,我发现自己想知道我在哪里使用坏习惯.

例如,我有一个名为titleScreen()的函数,用户可以决定要输入哪种游戏模式.

我可以从0-3返回一个值,然后通过if/else/else/else语句处理它来决定它们选择的模式.

要么

我可以返回一个字符串,如"STORYMODE","FREEPLAY","TUTORIAL"或"QUIT",并使用它来决定哪种模式.

我喜欢第二种模式,因为它消除了试图弄清楚选择了哪种模式的初始混淆,但我感觉在我的脑后这样做是有问题的.

在我的情况下,返回值的最佳方法是什么?

ale*_*der 8

在这种情况下,您应该使用enum列出所有状态来实现可读性而不会影响性能.例如:

enum  mode {
    STORYMODE,
    FREEPLAY,
    TUTORIAL,
    QUIT
}
Run Code Online (Sandbox Code Playgroud)

  • 这不仅仅是关于性能打击 - 它也(至少在美容上)给你的一组可能的值.在C++ 11中,它实际上是强类型的. (5认同)