`

改善c++程序建议——让代码运行的再快一些(十)

 
阅读更多
 让代码运行的更快
1、 用移位实现乘除运算
2、 优化循环,提高效率:
在c++的循环中,for语句使用频率最高,while语句次之,do语句最少;在多重循环中应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数,提高效率。
3、 改造switch语句
(1)对于case的值,推荐按照他们发生的相对频率来排序,把最可能发生的情况放在第一位,最不可能发生的情况放在最后;
(2)如果遇到比较多的case时,可以考虑switch的嵌套使用;
4、精简函数参数
函数在调用时会建立堆栈来存储所需的参数值,因此函数的调用负担会随着参数列表的增长而增加。如果参数比较多的情况下,可以把参数列表封装进一个单独的类中:
//version1

void PrintStudentInfo_v1(int id, const std::string& name, int age, int score) {

......
}

//version2
class CStudent {
public:
CStudent();
int m_nStudentID;
std::string m_strName;
int m_nAge;
int m_nScore;
};

void PrintStudentInfo_v2(const CStudent& student) {

}

分享到:
评论

相关推荐

    Visual C++面向对象程序设计-课件.rar

    《Visual C++面向对象程序设计》是一门深入探讨C++编程技术,特别是其面向对象特性的课程。这门课件的出现,对于学习者来说,无疑是一个宝贵的资源,尤其是那些热衷于C++编程和软件开发的专业人士。下面将详细阐述...

    Visual C++数字图像识别技术典型案例——求是科技

    《Visual C++数字图像识别技术典型案例——求是科技》是一份深入探讨图像处理和模式识别技术的教程,特别强调在VC++ 6.0开发环境中的应用。这份资源旨在为学习者提供一个实用的平台,通过实例代码来理解和掌握这些...

    高级语言程序设计的精髓——算法设计

    1. **效率优化**:良好的算法能够确保程序运行得更快、更有效率。这对于处理大规模数据集或执行复杂计算尤为重要。 2. **代码可读性**:优秀的算法不仅能够提高程序的性能,还能够增强代码的可读性和可维护性,方便...

    数字图像处理与机器视觉:VISUAL_C++与MATLAB实现.zip(代码)

    《数字图像处理与机器视觉:VISUAL_C++与MATLAB实现》是一份深入探讨数字图像处理和机器视觉技术的资源包,它包含了使用两种主流编程语言——Visual C++和MATLAB的实现代码。这个资源包旨在帮助开发者和研究者更好地...

    c++编程思想 中文版(Thinking in C++)

    4. **异常处理**:C++的异常处理机制允许程序在运行时捕获和处理错误。通过try、catch和throw关键字,我们可以优雅地处理可能出现的问题,而不至于让整个程序崩溃。 5. **命名空间**:命名空间用于避免全局作用域内...

    DEV C++安装-2021.01.11.pdf

    Dev-C++ 使用了功能强大的编辑器——EIDT,并且支持多种编译器,如 GNU GCC 和 G++。该软件因其简洁的界面和丰富的功能而受到编程初学者的喜爱。 #### 二、Dev-C++ 的下载与安装 ##### 1. 下载官方最新版本 Dev-...

    C++编程思想:C++的内在哲学原则

    - **提高程序执行效率**:对于简单的操作,使用内联函数可以使程序运行得更快。 - **限制**:内联函数的使用受到编译器的限制,通常只有简单的函数才会被真正内联。 **5. 引用(Reference)** - **定义**:引用...

    西门子FB58 PID C++项目VS2012,可运行,调试方法、资料、视屏讲解均有!

    6. **调试方法**:项目提供的调试方法可以帮助开发者理解程序运行流程,检查变量状态,找出潜在问题。使用断点、单步执行、查看内存和变量值等技巧是调试的关键。 7. **学习资源**:配合项目提供的资料和视频讲解,...

    数字图像处理与机器视觉——Visual C++与Matlab实现(pdf+附书源码)

    《数字图像处理与机器视觉——Visual C++与Matlab实现》是一本深入探讨图像处理和机器视觉技术的书籍,特别适合计算机科学、电子工程或相关领域的学生和从业者。书中不仅涵盖了理论知识,还提供了丰富的实践代码,以...

    c++简答题答案

    封装性是指包含和隐藏对象信息,好处是降低了程序设计的复杂度,提高了数据的安全性和代码的可靠性,改善了软件的可维护性,改善了程序模块可重用性。 继承性是指在一个已有的类的基础上创建一个新类,该新类获得了...

    论程序设计方法(牛人写的)

    在早期,计算机的存储容量和运算速度非常有限,程序设计师需要非常小心地编写代码,以节省存储空间和提高运行效率。例如,早期的计算机存储容量只有4K,编程语言只有机器码,编程需要手工翻阅手册改写为机器码,然后...

    睡眠质量监测系统——文档型成果物

    《睡眠质量监测系统——物联网技术在健康监测中的应用》 睡眠是人类生活中不可或缺的一部分,它对身心健康至关重要。随着科技的发展,物联网(IoT)技术已深入到日常生活的各个领域,其中包括健康管理。本篇将详细...

    C/C++语言图像处理:各种滤波

    在Windows环境下,你可以将.bmp和.c文件放在同一个目录下,通过编译器直接运行C程序。而在macOS系统中,由于Xcode使用的是相对路径,可能需要手动修改代码中的文件路径为绝对路径,以便程序能找到图像文件。 六、...

    Visual C++MATLAB图像处理与识别实用案例精选

    《Visual C++MATLAB图像处理与识别实用案例精选》是一本深入探讨图像处理与识别技术的书籍,结合了两种强大的编程环境——Visual C++和MATLAB。这本书旨在为读者提供实际应用中的具体案例,帮助他们理解和掌握这两种...

    《visual c++matlab图像处理与识别实用案例精选》源码

    《Visual C++与Matlab图像处理与识别实用案例精选》是一本深入探讨图像处理和识别技术的书籍,结合了两种强大的编程工具——Microsoft的Visual C++和MathWorks的Matlab。这本书通过丰富的实例,帮助读者理解和掌握...

    在C++中运用AOP

    在C++这种强大的编程语言中引入AOP技术,可以显著改善代码的可维护性和可扩展性。本文档由来自德国埃尔朗根-纽伦堡大学的Daniel Lohmann和Olaf Spinczyk编写,主要探讨了如何利用C++来实现面向切面编程。 #### 二、...

Global site tag (gtag.js) - Google Analytics