思考|编译器会出错么?
Posted 从零开始的测量
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了思考|编译器会出错么?相关的知识,希望对你有一定的参考价值。
首先,编译器也是程序,是程序就会有bug,虽然编译器也是大公司的高级程序员写的,但或多或少也会有各种各样的错误。
所以当我写代码遇到莫名其妙的问题时候,我总在怀疑是不是编译器出了问题。
实际上我也遇到过编译器的问题,只有一次。有一次用vs2013的时候,我死活编译不过boost库,最后将vs2013升级到updata5才成功了。这便是因为编译器的bug导致boost库发生问题。这个bug是由于模板函数导致的。
正常情况下我们编程,编译器是不会出现问题的。
在我编程过程中常有bug一周都解决不了,但是99%的情况下都是由于我的c++知识匮乏导致的,随着知识的变多,慢慢就理解错误了。
在c++使用过程中,最反人类的是模板函数,很多情况下无法让人理解,同样一个函数,需要在头文件中声明,在源文件中实现。也就是说,即使只做一件非常简单的事情,需要改动程序的好多地方,而且这几个地方互不关联,分布也非常散。如果没有非常好的命名习惯和良好的代码风格很快就不可维护了。
例如:
超长定义 模板函数
宏函数
这些实现了许多神奇的功能,但我有了源码根本不知道他在干什么,果然编程不是什么好活啊!!!!!!
结论:
1、珍爱生命,不要碰c++的模板函数,嗯,最好不要碰c++
2、会怀疑编译器会出错的,好好想想不都是你的错么?
以上是关于思考|编译器会出错么?的主要内容,如果未能解决你的问题,请参考以下文章