那是因为C++简洁起来可以让他妈(=写他的程序员)都不认识他……C++支持C的宏,意味着,长篇大段的代码可能一个宏就全生成出来了,再加上模板元编程之类的黑科技,你完全可以发明很多新语法出来,就是没人懂罢了
因为你问C++程序员为什么这个东西要写这么复杂:
为了性能,
为了可复用,
为了安全,
…………
同样的问题你问Java程序员:
因为只能这样写。
因为大家都这么写。
因为这是标准实践。
…………
本质还是因为Java这个语言支持一个编程范式,表达能力太弱,用久了代码里满地怪物对象到处跑,写长了其实只是一堆带着花里胡哨名字的全局变量集合。成天为了起一些合适的名词而烦恼,最后为了所谓的封装,写出class XXXEventProxyHandlerInterface不啰嗦就奇了怪了,写代码就跟老妈天天在你耳边墨迹穿秋裤一样。
C++就没人这么多啰嗦的毛病,灵活到爆炸。写过Java的人来写C++就是JC++,能把写的人的思维映射到代码里。然后社区谁也不服谁,都觉得应该像自己喜欢那样写代码,在这里你能看到所有的范式,维护大项目就像在读一本百科全书。