个人理财 避免了C ++程序中的错误 - 虚拟

避免了C ++程序中的错误 - 虚拟

目录:

视频: 第30讲 小甲鱼 C++ 错误处理和调试 2024

视频: 第30讲 小甲鱼 C++ 错误处理和调试 2024
Anonim

在删除或至少了解编译期间生成的所有警告之前,请勿开始调试代码。启用所有的警告信息,如果你忽略它们,你是不行的。如果你不明白这个警告,那就查一查。你不知道 会伤害你。 采用清晰一致的编码风格

编码风格清晰一致,不仅增强了程序的可读性,而且减少了编码错误。请记住,解密C ++语法所花费的大脑力量越少,您留下的思考手头程序的逻辑就越多。良好的编码风格使您能够轻松完成以下任务:

<!区分类名称,对象名称和函数名称

根据名称区分对象
  • 区分预处理器符号与C ++符号(即#defined对象应该脱颖而出)
  • 在同一级别识别C ++代码块(这是一致缩进的结果)
  • 另外,您需要建立一个标准模块头,提供有关模块中功能或类的信息,作者(大概就是你),日期,你使用的编译器的版本和修改历史记录。
  • <!最后,所有涉及单个项目的程序员都应该使用相同的风格。试图破译一个不同编码风格的程序是令人困惑的。

在编写代码时注释代码

如果在编写代码时注释代码,而不是等到一切正常,然后再返回并添加注释,则可以避免发生错误。没有花时间写出大量的头文件和函数描述,直到后来才可以理解,但是在编写代码的时候总是有时间添加简短的注释。

简短的评论应该是有启发性的。如果他们不是,他们不值钱,你应该做的东西,而不是。当你试图让你的程序工作时,你需要所有的启发。当你看到你前几天写的一段代码时,那些简短的描述性的评论,对于帮助你弄清楚你到底想做什么,可以做出巨大的贡献。另外,一致的代码缩进和命名约定使代码更容易理解。当代码完成后,代码很容易阅读,这一切都非常好,但是在编写代码时,代码的易读性同样重要。那时你需要帮助。

每个路径至少单步执行一次

作为一名程序员,了解程序的功能非常重要。没有什么能让你更好地感觉到,在一个好的调试器中,单步执行程序会发生什么。 (包含在交互式编译器的IDE中的调试器工作得很好。)除此之外,当你编写一个程序时,你有时需要原材料来弄清楚一些奇怪的行为。当它们投入使用时,没有什么比单步执行新功能更好的了。

最后,当一个功能完成并准备添加到程序中时,每个逻辑路径至少需要经过一次。当函数被自己检查时,错误更容易被找到,而不是被其他函数抛入其中之后 - 而且你的注意力已经面临新的编程挑战。

避免重载操作符

除了使用两个流I / O操作符

操作符<<()

操作符>>()

和赋值操作符

操作符=() ,你应该暂缓重载操作符,直到你对C ++感到满意为止。尽管一组好的重载操作符可以增加新类的实用性和可读性,但重载操作符(除了刚刚列出的三个操作符之外)几乎是不必要的,并且可以作为新程序员显着增加调试困难。您可以通过定义和使用适当的公共成员函数来获得相同的效果。 在您进行C-Plus-Plussing几个月之后,请随时返回并重新开始将操作员重载到您的心中。 平衡堆处理 一般来说,程序员应该在相同的层次上分配和释放堆内存。 “如果成员函数 MyClass:: create() 分配了一块堆内存并将其返回给调用者,那么应该有一个成员函数

MyClass:: release()

将内存返回给堆。具体来说,

MyClass:: create() 不应该要求父函数释放内存本身。这当然不能避免所有的内存问题 - 父函数可能会忘记调用 MyClass:: release() - 但它确实减少了一些可能性。 使用异常来处理错误 C ++中的异常机制旨在方便有效地处理错误。现在这个功能已经标准化了,你应该使用它。生成的代码更容易编写,更易于阅读和维护。另外,其他程序员也期待它 - 你不想让他们失望,是吗? 避免多重继承 多重继承,如运算符重载,增加了另一个级别的复杂性,在刚刚起步时不需要处理。幸运的是,大多数现实世界的关系可以用单一的继承来描述。 随意使用来自商业库的多重继承类,例如Microsoft MFC类。微软已经花费了相当多的时间来设置它的类,它知道它在做什么。

在对C ++的理解水平感到满意后,尝试设置一些多重继承层次结构。这样,如果你需要的话,你就可以做好准备了。

避免了C ++程序中的错误 - 虚拟

编辑的选择

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

是SketchUp非常有用的一部分,他们可以让你的生活变得更轻松。以下是如何在Sketchup中添加新图层以及如何将实体移动到不同图层的方法。添加新图层按照以下步骤将图层添加到SketchUp文件:选择“窗口”→“图层”。图层...

全部关于地理位置快照和SketchUp - 虚拟

全部关于地理位置快照和SketchUp - 虚拟

当您将地理位置快照导入SketchUp ,您可以访问Google庞大的地理数据存储库;快照不仅仅是漂亮的图片:导入快照地理位置自动定位您的位置。这意味着快照设置您的模型的经纬度,并定位在正确的主要方向。任何阴影研究你...

如何在SketchUp中使用场景动画区域

如何在SketchUp中使用场景动画区域

将区域视图与场景组合在一起以创建动画展示您的SketchUp模型都是一种有用且令人印象深刻的方式。基本的想法是,您可以使用场景来创建动画,其中您的剖面在您的模型中移动。以下是您可能需要使用此技巧的几个原因:如果...

编辑的选择

如何将尼康D5300照片下载到计算机 - 傻瓜

如何将尼康D5300照片下载到计算机 - 傻瓜

你的尼康D5300,你可能会想用他们的照片编辑软件。您可以用两种方法将照相机中的照片和电影文件移到电脑上:通过USB电缆将照相机连接到电脑。您需要的电缆是随附的。

如何在播放期间放大尼康D7100照片 - 虚拟人物

如何在播放期间放大尼康D7100照片 - 虚拟人物

您的尼康D7100,如左图所示,您可以放大它,如右图所示。但是,您只能放大静止照片。此功能不适用于电影。以下是如何使用放大功能:放大。按Qual按钮。您可以...

如何在尼康D7100上播放时隐藏照片 - 虚拟人物

如何在尼康D7100上播放时隐藏照片 - 虚拟人物

可以使用隐藏图像选项在尼康D7100的播放菜单上隐藏一些照片,同时在播放过程中显示其他照片。假设你拍了100张照片--50次在商务会议上,50次在野外会议后。您想向您的老板展示您和您的同事的照片...

编辑的选择

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

很可能您已经在尼康D5300上播放了播放模式。但是,在数码相机上查看照片有不同的选项。对于正常播放 - 即每次只能查看一张照片 - 请执行以下步骤:

如何自定义尼康D3300的优化校准 - 傻瓜

如何自定义尼康D3300的优化校准 - 傻瓜

当您使用尼康D3300的内置原始处理器,您可以尝试不同的优化校准设置,了解每个设置对图像的影响。当您使用免费的Nikon软件Nikon ViewNX处理图像时,您可以选择相同的选项。该程序的原始转换器,以及在Adobe Photoshop中找到的那些...

如何在HDMI屏幕上显示实时预览预览 - 假人

如何在HDMI屏幕上显示实时预览预览 - 假人

尼康D7100相机连接到HDMI(高清晰度多媒体接口)设备,以在该屏幕上查看实时显示输出。摄影师经常使用此功能,因为摄影师需要比相机显示器提供更大的主题。使用此选项时,会出现一些问题:...