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_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