c++ - 如何有效地设计一种方法,其中每个条件都依赖于另一个条件?

标签 c++

我有一个方法需要检索大小类型,因此例如我需要返回一个字符串,表示“小”、“中”或“大”。

所以我调用了 GetSize(int size)。但我还需要知道我要如何返回大小,我是要返回“小”还是要返回“s”。因此该方法变成了 GetSize(int size, enum format)

现在我可以做一个 switch case 但它会是

switch (size)    
 {    
    case SMALL_SIZE:  
       switch(format)  
          case format::short  
          case format::long  
 }

所以我必须在每个案例中为“大小”做一个切换案例。我还可以将其分解并调用一个方法来获取每个尺寸案例的格式。

这看起来工作量很大,我这里只有 3 箱尺寸,但想象一下其他东西有 10 箱。我的解决方案是最好的还是有更好的方法?

最佳答案

看来你的方法可以用一个简单的二维数组代替。

// Use actual sizes in the declaration below
static string FormattedSize[2][2] = {
    {"small", "s"}
,   {"medium", "m" }
//  and so on...
};

string GetSize(int size, enum format) {
    return FormattedSize[size][format];
}

关于c++ - 如何有效地设计一种方法,其中每个条件都依赖于另一个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619169/

相关文章:

c++ - 如何在 C++ winapi 中获取加载图标的大小

c++ - 使用 C++ 将二进制文件从 istream 复制到 ostream 并不总是正确的

c++ - 条件 c++ 的奇怪行为

c++ - 像素路径性能警告 : Pixel transfer is synchronized with 3D rendering

java - 从 C++ 到 Java 的 vector 转换

c++ - cmath asin() 问题

c++ - 有没有一种算法可以在 opencv 中匹配比例和旋转 rotateRect

c++ - 是否可以在 extern "C"函数中使用模板参数

c++ - 在 C/C++ 中连接字符串

c++ - Makefile:动态源文件名和对象目录