现在的位置: 首页 > 综合 > 正文

规范化的C++编程方法备忘录 程序流程(3)

2013年06月15日 ⁄ 综合 ⁄ 共 1147字 ⁄ 字号 评论关闭

避免条件分离

-以下代码不好

要改成

这样是为了保证在aiBuff的长度被调整后,不会因为忘了调整for中的内容而出现错误。

 

-比如要为_stprintf准备字符串缓冲区(假设这里需要只显示输出整数,没有其他字符串混合)。设unsigned int类型,显示16进制格式

    这样写不好:

TCHAR buff[60];//即使你认为60个字符“很大很大”

    宁可像这样写:

TCHAR buff[sizeof(int) * 2 + 1];

如果要显示10进制就不太好办了。当前似乎只能用模板特化实现。为个求缓冲区长度,还要专门写个类,但为了实现整合,...也只有这样了...

使用:

TCHAR buffD[TGetBufferLen<unsigned int>::val + 1];

抱歉!评论已关闭.