C++笔记3

1.throw表达式:throw语句应用了一个表达式,runtime_error类型是标准库异常类的一种,在stdexcept头文件中定义。
2.try块:每个catch字句包括三部分,关键字catch,圆括号内单个类型或者单个对象的说明以及通常用花括号括起来的语句块。try块也引入局部作用域。
3.寻找处理代码的过程与函数调用链相反。如果不存在处理该异常的catch字句,程序的运行就要跳转到名为terminate的标准库函数。
4.使用预处理器进行调试,assert和异常处理的区别,摘自博客
“Assert用于检查不应该发生情况,用来帮助开发人员对问题的快速定位。异常处理用于对程序发生异常情况的处理,增强程序的健壮性、容错性,减少程序使用中对用户不有好的行为,不让(通常也不必)用户知道发生了什么错误。实际开发中,我们通常将Assert与异常混淆, 不知道什么时候使用Assert,什么时候使用异常处理。或者不用Assert,将一切情况都归为异常。这样一来,就掩盖了问题,当问题发生的时候,很难进行定位,而这些问题本该是在开发的时候就解决掉的。同时,也增加了开销(在c#中,debug.Assert()编译成release版本时,不会产生任何代码,而try/catch在debug/release版本中都是有代码产生,运行时需要开销)。”
“我们需要在调用的时候,确保参数container不为null。如果发布成公共类库,那么应该做异常处理,确保第三方错误调用的时候,知道问题在哪。
关于异常处理, 在编写代码的时候,应充分考虑各种具体异常,而不简单的catch到Exception,写出更健壮的代码。
通常来说,能够用Assert的地方,都可以用try/catch处理 。但这不是好习惯。或许你可能认为,程序release后,try/catch也就比Assert多出那么点开销,对现代的机器而言微不足道,那的确很对。为什么不认真对待自己写出来的代码呢?”
5.预处理器定义了其余四种在调试时用的变量。
6.使用NDEBUG预处理变量和assert预处理宏进行调试,但是只能对程序的调试有帮助,不能用来代替运行时的逻辑检查,也不能代替对程序程序可能产生的错误的检查。
7.标准库定义了两个预处理变量代表程序运行成功和失败。
8.函数的返回值用于初始化在调用函数处创建的临时变量。
9.当函数返回引用类型时,没有复制返回值,返回对象本身。形参和返回类型都是指向const对象的引用,调用函数返回结果时,都没有复制这些对象。
10.千万不要返回局部对象的引用,与不要返回指向局部对象的指针是类似的。
11.为了确保对于指定的函数其所有声明保持一致,如果函数接口发上变化,只需要修改唯一的声明就可以了。
12.静态局部对象。
13.内联函数应该在头文件中定义,因为它要对编译器可见。仅有原型是不行的。当然,编译器也可以选择忽略内联函数的说明。
14.编译器隐式的将在类内定义的成员函数当作内联函数。成员函数形参表后面的const所起的作用就是改变了隐含的this形参的类型。
15.内置类型成员的初值依赖于对象如何定义。
16.重载。如果形参表相同但是返回值不同,则为错误。返回值不同的话,不能从上下文中了解到该调用哪一个函数。重载的时候对函数的匹配过程中,const对非引用对象是没有修饰作用的。比如,int look(int )和int look(const int)这个两个函数不算重载:复制实参的时候不考虑形参是否为const, 因为操纵的只是副本而已。有const引用形参的函数和非const引用形参的函数是不同的。
17.含有多个形参的重载确定。仅当形参是引用或者指针的时候,是否为const才有影响。
18.允许使用函数指针指向重载的函数,指针的类型必须与重载函数的一个版本精确匹配。如果没有精确匹配的函数,则对该指针的初始化或赋值会编译错误。
【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)》的技术资源,聚焦于电力系统中低碳经济调度问题,结合N-1安全准则与分布鲁棒机会约束(DRCC)方法,提升调度模型在不确定性环境下的鲁棒性和可行性。该资源提供了完整的Matlab代码实现,涵盖建模、优化求解及仿真分析全过程,适用于复杂电力系统调度场景的科研复现与算法验证。文中还列举了大量相关领域的研究主题与代码资源,涉及智能优化算法、机器学习、电力系统管理、路径规划等多个方向,展示了广泛的科研应用支持能力。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事能源调度、智能电网相关工作的工程师。; 使用场景及目标:①复现高水平期刊(如EI/SCI)关于低碳经济调度的研究成果;②深入理解N-1安全约束与分布鲁棒优化在电力调度中的建模方法;③开展含新能源接入的电力系统不确定性优化研究;④为科研项目、论文撰写或工程应用提供可运行的算法原型和技术支撑。; 阅读建议:建议读者结合文档提供的网盘资源,下载完整代码与案例数据,按照目录顺序逐步学习,并重点理解DRCC建模思想与Matlab/YALMIP/CPLEX等工具的集成使用方式,同时可参考文中列出的同类研究方向拓展研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值