无为论坛

 找回密码
 加入无为
搜索
热搜: 活动 交友 discuz
查看: 565|回复: 0

知乎:if (常量 == 变量) 的写法好还是不好?

[复制链接]
发表于 2013-7-26 10:58 | 显示全部楼层 |阅读模式
知乎,一个真实的网络问答社区,帮助你寻找答案,分享知识;知乎,帮你发现更大的世界,让你了解更多的知识,知乎,聚集了高质量的问题,让你解答更多网友的问题,从而体现个人知识的渊博,在知乎你的威望就越高,自我实现的需求从而体现。下面就让我们一起看看知乎有哪些好玩的问答吧!



问:if (常量 == 变量) 的写法好还是不好?
答:不好,因为如果仅仅为了防止单等号造成的错误,那么编译器警告已经能完成这个操作了。例如,如果你打开了所有的编译器警告,以下代码会报错:

if (pt = NULL)

所以如果真的有上面的意图,可以考虑写成:

if ( (pt=NULL) != NULL )  /* C 写法 */

if ( (pt=NULL), pt ) // C++ 写法

我们看到,现在的编译器已经能解决这个问题,因此,对于题主的情况,建议写成:

if (pt == NULL)    /* C 语言写法 */

if (!pt)    // C++ 语言写法

热门问答:
问:Windows XP 已经过时但占有率仍很高,这是否给桌面软件开发者带来了一些麻烦?
答:有啊,而且非常非常讨厌,但是又不得不考虑这个问题啊。

比如依赖库的问题,用户根本不知道依赖库是什么啊!!!于是整天就有不同的用户抱怨怎么又没有什么什么dll了,这个到底是什么东西啊!!!

2001年发布的Windows XP自带的是vc6的运行库,并且没有.NET运行环境,发布的程序就需要考虑到用户机子上没有运行库怎么办。虽然一般的做法的是,打包成一个安装包,安装的时候检测,但是,Windows的用户似乎都比较反感安装程序,觉得安装了以后会让自己的电脑变慢,如果是做一些在学校里面使用的小型软件,或者是要在客户的电脑上使用的软件,增加安装这个步骤也是会非常不方便也非常不合适的。

另外,制作安装包,把依赖库放进去,就把安装包变得很大很大了,C++的库还好,几M的空间就可以了,.NET 3.5完整离线安装包将近200M,打进去的话,用户一定会高度质疑你的内容,而且也不方便下载。用vc6的库行不行?重大安全隐患不能用啊。

造成的结果就是,微软在推使用.NET框架开发,并且使用C#+WinForm或者WPF构建界面是一个多快好省的事情。但是如果为了让程序兼容更多的用户,我们却不得不使用C++来进行开发,能够使用的图形框架就变成了MFC,开发和测试的难度都增加了。如果使用.NET的话,那么意味着,可能不得不放弃部分的XP用户,因为他们不会或者不愿意在自己的电脑上安装所谓的“会把电脑拖慢的库”。

另外就是API的问题,因为现在开发使用的机器都是Windows 7,为了做XP的兼容性测试必须再拿到XP下测试一次,有时候会因为用了Vista开始特有的API导致失败,然后就发现为了实现一个API的功能我们是要做许许多多额外的工作,于是又开始痛恨这个还没有消失的XP。不过比较幸运的一点,MSDN对这些API的描述都比较全面。

全新的知乎 iPhone 客户端 2.0 版本, 让您可以直接注册知乎账号, 加入这个奇妙的社区, 并且在手机上, 以更酷的方式, 随时随地, 享受交流和发现知识的乐趣。通过知乎 iPhone 端, 您能够查看每日热门问答, 获取最酷的知识, 参与最神奇的问答讨论,更多神奇的问答请点击:
创业项目


大隐隐于此,相逢的人会再相逢!
您需要登录后才可以回帖 登录 | 加入无为

本版积分规则

手机APP|无为大事记|百度统计|无为论坛 ( [鲁ICP备16011199号-2] [滨公备0601007] )

GMT+8, 2024-12-22 17:06 , Processed in 0.061693 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表