c++ stl 源码学习
文章平均质量分 84
阅读c++的时候常常遇到到处是模板,在业务代码中能看到的模板不多,但是阅读在stl这种库的时候,模板能看到你怀疑自己会不会cpp,希望能通过跟大家一起学习stl的源码增加自己的coding能力,也不再害怕模板
weixin_44480265
这个作者很懒,什么都没留下…
展开
-
2.空间配置器
在c++中比如你申请一个vector/list,都会调用默认的空间配置器进行内存分配。为了能达到通用性,空间配置器需要通用,在SGI STL设计的时候设计了四个通用的接口。allocator:申请空间deallocate:释放空间construct:构造对象destroy:析构对象。原创 2024-08-23 16:23:24 · 746 阅读 · 0 评论 -
stl源码学习之traits技术
这个就是 template的参数推导机制,但是他没办法对返回值进行推导,我们需要其他的机制来解决这个问题,我们可以通过声明内嵌类型来解决这个问题,观察如下代码,我们来简单的推到下, 先看MyIter , 其中的value_type 就是T类型了,好了再返回去砍main,func接受了一个MyIter类型,看到typename I::value_type func(I iter)定义的地方,返回值就变成了MyIter::value_type , 这里就可以判断出返回值就是int了。原创 2024-08-21 10:40:15 · 447 阅读 · 0 评论