C++编译调试

来源:互联网 发布:cos图片特效软件 编辑:程序博客网 时间:2024/06/06 02:13

闲来无事,翻看了《C++编译调试秘笈》一书有如下感之


程序中的错误姑且可以有以下几种:

                1:编译时错误(语法。。。)

                2:运行时错误。外界与程序的交互所产生的错误


C语言是一种追求高效的语言,而得到某一方面的同时,会失去另一方面。所以就需要C程序员自己去处理,并且会处理相关问题。索引越界,滥用指针。


void DoSomething(const Orange& orange),此函数接受一个Orange类的对象,但是我们可能提供一个Apple类型的对象,在某些情况下,代码可以通过编译,例如Orange类有一个只接受一个Apple参数的构造函数。或者apple类可以将apple转换为orange对象

上述操作叫做隐式转换,解决的办法是用关键字explicit声明上述构造函数来防止编译器执行隐式转换,这样程序猿在期望接受orange参数的函数中只能传递orange类的对象,这即是用代码限制程序猿犯错,就如同我们用代码设定用户在输入数字的地方,不能输入字母,否则将用对话框给予提示

0 0