c++学习路上的问题2:类,构造,实例,单例,指针,作用域符与静态函数

1.类的单例模式
在tinyhttpserver代码中有如下代码
class connection_pool
{
public:
//单例模式
static connection_pool *GetInstance();
}
connection_pool *connection_pool::GetInstance()
{
static connection_pool connPool;
return &connPool;
}
(自己删除了很多无用的部分,抽象出来的逻辑如上)
chat给的解释
在这里插入图片描述
在这里需要了解的有指针函数(区别函数指针)和单例模式(都是私下了解,不做介绍)
在这里插入图片描述
在这里插入图片描述

2.当出现 :: 的时候 如何判断这是表示类的静态函数还是函数作用域符呢

chat给的解释很好
在这里插入图片描述
静态函数的声明、定义、初始化一般都是在哪里在这里插入图片描述
C++构造函数后面的冒号
https://www.cnblogs.com/Allen-rg/p/11529949.html
总结:两个用法1:对成员变量初始化(尤其是引用与常量),2:调用父类构造函数对父类变量初始化
在这里插入图片描述例如qt的代码在这里插入图片描述
在这里插入图片描述

类的静态私有变量也适合公有静态变量一样的赋值方式:
在这里插入图片描述
引用常量做参数的意义
在这里插入图片描述
取地址传递副本给函数
在这里插入图片描述
形参为引用常量做参数是什么意思,有什么作用
在这里插入图片描述
(这里gpt说的第二点可能是错的)
在这里插入图片描述
在这里插入图片描述

c++多态
在这里插入图片描述
在基类中定义了一个虚拟函数,然后在派生类中又定义一个同名,同参数表的函数,这就是多态。多态是这3种情况中唯一采用动态绑定技术的一种情况。也就是说,**通过一个基类指针来操作对象,**如果对象是基类对象,就会调用基类中的那个函数,如果对象实际是派生类对象,就会调用派声雷中的那个函数,调用哪个函数并不由函数的参数表决定,而是由函数的实际类型决定。

C++模板中关键字typename与class的区别
https://blog.csdn.net/qq_45801299/article/details/112298619
https://blog.csdn.net/qq_27898413/article/details/119670051?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1-119670051-blog-112298619.235v38pc_relevant_anti_t3_base&spm=1001.2101.3001.4242.2&utm_relevant_index=4

其实:模板函数比较重要:
https://blog.csdn.net/m0_53636439/article/details/119777817

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值