![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective C++笔记
文章平均质量分 78
shuo技术
这个作者很懒,什么都没留下…
展开
-
条款45:运用成员函数模板接受所有兼容类型
说的是这么一个问题。现在要实现一个智能指针类,SmartPtr,可以保存管理对象的地址。析构就不实现了,这个条款讨论的和资源管理无关。既然是个指针,就要满足裸指针中,子类到基类多态继承的功能。也就是从子类Bottom、Middle指针到基类Top指针的转换。原创 2024-08-06 17:28:22 · 341 阅读 · 0 评论 -
条款44:将与参数无关的代码抽离template
这里主要说的是,在编译器中,它们是不同的类型,但实际上在二进制表达上,他们是相同的类型,但是链接器没有做去重。比如文中举例,有的机器上,int和long在二进制层面其实是一样的。不同的参数会展开成不同的模板,导致代码膨胀。●这种写法,不同的n,比如SquareMatrix和SquareMatrix,会展开出不同的实现,导致代码膨胀。注意,子类调用基类invert时候,加上了SquareMatrixBase::以表明调用的是基类的invert,不然会出现递归。原创 2024-08-06 17:18:42 · 787 阅读 · 0 评论