C++代码风格:关于左花括号位置的研究

这篇博客探讨了C/C++编程中关于左花括号放置风格的争议,即K&R风格与微软风格。文章分析了两种风格的历史背景,指出K&R风格可能源于早期显示器分辨率限制,从而节省屏幕空间。如今,随着显示器分辨率的提高,作者建议采用更对称的微软风格。博客强调理解历史原因并根据当前条件选择合适风格的重要性,而非盲目遵循传统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转发:个人图书馆-昔影若梦

C/C++中左花括号位置的争论由来已久,本文分析了两种写法产生的历史缘由,并提出现在我们应该采用的写法和理由。
下面是引起争论的两种风格:

K&R风格:
if ( a > 100 ) {
//do somthing…
}

注:
1978年贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchie (K&R)合著了著名的《The C Programming Language》一书。书中推荐了一套代码编写标准,有人称之为《K&R》标准。

微软风格:
if ( a > 100 )
{
//do somthing…
}

网上的朋友有些支持K&R, 因为是它更经典,有的支持微软,因为它更现代,有的认为只是一种习惯,哪种都可以,无须纠结。但我还是存在一个疑问:从观感来看,微软的风格显然更悦目,更对称,为什么K&R要推荐这种看上去有些怪异的风格?除了习惯之外,我想不出这样做的哪怕是一个好处。

最近忽然想到,这可能和早期显示器的分辨率有关:以1981年IBM推出的第一台计算机彩色显示器标准CGA为例,它的最高分辨率为640*200。竖向分辨率居然只有200, 现在一台普通的22寸显示器的竖向分辨率是1080,大约是它的5倍!在这种情况下,屏幕空间就金贵了,K&R的风格可以省一行的空间,否则一屏根本显示不了几行代码。有时候令人非常困惑的问题,答案往往意想不到的简单,不是吗?

明白了这一点,争论就可以结束了:今天当然是用微软风格,因为K&R风格的理由已经不存在了,今天你能找到的再旧显示器分辨率恐怕也不会低于1024*768吧?所以还是要知其所以然,不能死记硬背大牛的教条。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值