C++学习杂记

本文深入探讨了C++中的多种高级特性,包括传值与传引用的效率对比、静态成员函数的特点、mutable关键字的作用、虚析构函数的重要性、STL容器的基类使用限制等。此外还介绍了对象构造与析构的顺序、友元的概念及其限制、常对象的行为特点、成员变量的初始化顺序等内容。

1.对于内置类型而言,传值比传引用更高效。(effective c++)
2.静态成员函数不可以调用类的非静态成员(成员变量,成员函数), 静态成员函数不含this指针。
3.mutable关键字:在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。
4.只有当class 内含有至少一个virtual函数,才会声明virtual 析构函数。
5.标准的STL容器不能被作为基类使用,因为没有virtual 析构函数。

 

P178 
6.非虚函数是静态绑定,指针类型决定调用哪个版本的函数。通过pB 调用非虚函数永远是B所定义的版本,即使pB指向一个B的派生类对象。
虚函数是动态绑定,指向的对象类型决定调用哪个版本的函数。若pB和pD都指向类型为D的对象,不论通过pB和pD调用f,调用的都是D::f

https://www.dotcpp.com/course/67
int  main()
{
        Student A( );
            Student B( );
        return 0;
   }    调用顺序:A 构造->B构造->B析构->A析构
7. 对象A和B的构造函数的调用顺序以及构造函数的调用顺序,完全相反!原因在于A和B对象同属局部对象,也在栈区存储,也遵循“先进后出”的顺序!

8. 友元并不属于这个类本身,无论是友元函数还是友元类。都不能使用类内的this指针,同时也不可以被继承
如果把一个类A声明为另一个类B的友元类,则类A中的所有成员函数都可以访问B类中的成员。使用方法也一样,在类B中进行声明即可。
友元函数可以访问当前类中的所有成员,包括 public、protected、private 属性的。
友元函数不同于类的成员函数,在友元函数中不能直接访问类的成员,必须要借助对象

9. 常对象( const  Clock A;)不可以访问类中的非常成员函数,只能访问常成员函数
常成员函数(const 结尾)只能调用常成员函数,而不能调用非常成员函数,访问但不可以更改非常成员变量

10. 公有继承:基类中的保护成员,在派生类中仍然是保护类型,可以通过派生类的成员函数访问,但派生类对象不可以访问!

11. 虚基类

12.成员变量的初始化顺序与初始化列表中列出的变量的顺序无关,它只与成员变量在类中声明的顺序有关

13.初始化 const 成员变量的唯一方法就是使用初始化列表

14.对象所占用的存储空间的大小等于各成员变量所占用的存储空间的大小之和

15.基类的 private 成员是能够被继承的,并且(成员变量)会占用派生类对象的内存,它只是在派生类中不可见,导致无法使用罢了

16. 如果派生类有同名函数,那么就会遮蔽基类中的所有同名函数,不管它们的参数是否一样。

17.派生类构造函数中只能调用直接基类的构造函数,不能调用间接基类的。

18.只有派生类的虚函数覆盖基类的虚函数(函数原型相同)才能构成多态(通过基类指针访问派生类函数)。例如基类虚函数的原型为 virtual void func();,派生类虚函数的原型为 virtual void func(int);,那么当基类指针 p 指向派生类对象时,语句 p -> func(100);将会出错(基类指针指向派生类试,不能调用派生类新增的函数),而语句 p -> func();将调用基类的函数。

19. 指针使用CONST
(1)指针本身是常量不可变
char* const pContent;

(2)指针所指向的内容是常量不可变
const char *pContent;

(3)两者都不可变
const char* const pContent;

(4)还有其中区别方法,沿着*号划一条线:
如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。

【SCI复现】基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)内容概要:本文围绕“基于纳什博弈的多微网主体电热双层共享策略研究”展开,结合Matlab代码实现,复现了SCI级别的科研成果。研究聚焦于多个微网主体之间的能源共享问题,引入纳什博弈理论构建双层优化模型,上层为各微网间的非合作博弈策略,下层为各微网内部电热联合优化调度,实现能源高效利用与经济性目标的平衡。文中详细阐述了模型构建、博弈均衡求解、约束处理及算法实现过程,并通过Matlab编程进行仿真验证,展示了多微网在电热耦合条件下的运行特性和共享效益。; 适合人群:具备一定电力系统、优化理论和博弈论基础知识的研究生、科研人员及从事能源互联网、微电网优化等相关领域的工程师。; 使用场景及目标:① 学习如何将纳什博弈应用于多主体能源系统优化;② 掌握双层优化模型的建模与求解方法;③ 复现SCI论文中的仿真案例,提升科研实践能力;④ 为微电网集群协同调度、能源共享机制设计提供技术参考。; 阅读建议:建议读者结合Matlab代码逐行理解模型实现细节,重点关注博弈均衡的求解过程与双层结构的迭代逻辑,同时可尝试修改参数或扩展模型以适应不同应用场景,深化对多主体协同优化机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值