switch语句的优化

xiaoxiao2021-02-28  86

switch语句的优化

flyfish

通常的形式

void Test(int t) { switch (t) { case 1: //code segment 1 break; case 2: //code segment 2 break; default: break; } }

一 当代码段比较多时候 就会提取函数

void Test(int t) { switch (t) { case 1: function1(); break; case 2: function2(); break; default: break; } } void function1(){}; void function2(){};

二 当类中有类型时可以使用设计模式优化 例如

class employee { int type; //0 engineer //1 salesman //2 manager };

优化为

class employee { }; class engineer : public employee { }; class salesman : public employee { }; class manager : public employee { }

可以使用 状态模式 或者 策略模式.

三 根据函数参数设置不同变量的值 代码的优化

void SetValue(int type, int value) { switch (type) { case 0: engineer = value; case 0: salesman = value; default: break; } }

如果用多态 有些多余 优化如下

void SetEngineer(int value) { engineer = value; } void SetSalesman(int value) { salesman = value; }
转载请注明原文地址: https://www.6miu.com/read-39252.html

最新回复(0)