一句话经验

来源:互联网 发布:战锤2全面战争多核优化 编辑:程序博客网 时间:2024/05/16 11:03

1.在定义宏的时候不要定义这样的值“#define  AREA  13*12”

为什么呢?这样很容易对后续计算造成干扰,“譬如“j = 156 / AREA;”本希望得到的j是1,可是实际计算结果是24。


2.设计一个长方形结构体“struct Rec { unsigned int width; unsigned int height };”和“struct Rec { unsigned int width; unsigned int height; unsigned int area; unsigned girth };”(其中girth表周长),这两种方式哪个好呢?

前者节约内存,对于后者,有了width和height,似乎area和girth都可以计算得到,有必要多这两项成员变量嘛?

其实,在很多时候的设计时,非常有必要。比如,在第一次初始化或计算Rec结构体变量时,就把area和girth给计算出来,之后若想要使用到area或者girth,直接把它调用出来就好了,很多时候,有可能在不同场合多次使用到area和girth,此时就省去了一些计算,所以,特别是对于PC端或者嵌入式编程,后面一种设计可能会更好,虽然它显得有些啰嗦!

原创粉丝点击