关于代码优化 替代 switch case
type中保存的是字段的类型。我的程序用了很多swit case,有什么好的替代方法替代switch case
type = indexField[ix].second;
switch(type)
{
case field_short:
ptr = new short[recordNum];
fread(ptr, sizeof(short), recordNum, fp);
break;
case field_int32:
ptr = new int[recordNum];
fread(ptr, sizeof(int), recordNum, fp);
break;
case field_uint32:
ptr = new unsigned int[recordNum];
fread(ptr, sizeof(unsigned int), recordNum, fp);
break;
case field_int64:
ptr = new DD_INT64[recordNum];
fread(ptr, sizeof(DD_INT64), recordNum, fp);
break;
case field_float:
ptr = new float[recordNum];
fread(ptr, sizeof(float), recordNum, fp);
break;
case field_double:
ptr = new double[recordNum];
fread(ptr, sizeof(double), recordNum, fp);
break;
case field_datetime:
ptr = new int[recordNum];
fread(ptr, sizeof(int), recordNum, fp);
break;
default:
printf("Unexpected db type %d\n", type );
break;
}
type = indexField[ix].second;
switch(type)
{
case field_short:
ptr = new short[recordNum];
fread(ptr, sizeof(short), recordNum, fp);
break;
case field_int32:
ptr = new int[recordNum];
fread(ptr, sizeof(int), recordNum, fp);
break;
case field_uint32:
ptr = new unsigned int[recordNum];
fread(ptr, sizeof(unsigned int), recordNum, fp);
break;
case field_int64:
ptr = new DD_INT64[recordNum];
fread(ptr, sizeof(DD_INT64), recordNum, fp);
break;
case field_float:
ptr = new float[recordNum];
fread(ptr, sizeof(float), recordNum, fp);
break;
case field_double:
ptr = new double[recordNum];
fread(ptr, sizeof(double), recordNum, fp);
break;
case field_datetime:
ptr = new int[recordNum];
fread(ptr, sizeof(int), recordNum, fp);
break;
default:
printf("Unexpected db type %d\n", type );
break;
}
...全文
相关推荐
js 代码优化点滴记录
**优缺点分析:**使用数组替代switch语句有以下几个优点:- **代码更加简洁**:相比于多个case的switch语句,数组的写法更加简洁,尤其是在处理大量case分支时。
嵌入式编程代码优化.
算法优化: - **Switch 语句优化**:在 switch 语句中,根据 case 分支发生的频率进行排序,把最常执行的 case 放在前面,减少不必要的比较次数。
C语言代码优化教程翻译
例如:```c// 使用 switch 语句switch(queue) {case 0: letter = 'W'; break;case 1: letter = 'S'; break;case 2:
js代码优化的小示例
```javascriptvar str = "";var week = new Date().getDay();switch (week) { case 0: str += ""; break; case
javascript中Date对象的getDay方法使用指南
(); switch(numWeekDay){ case 0: return '周日'; case 1: return '周一'; case 2: return '周二'; case 3: return


