stl
文章平均质量分 67
桃溪小小生
别人说如何,我们说为何。
展开
-
使用Traits技法来对模板参数进行类型过滤
使用Traits技法来对模板参数进行类型过滤原创 2022-12-06 21:56:49 · 310 阅读 · 3 评论 -
图解lower_bound&upper_bound
图解lower_bound&upper_bound原创 2022-07-24 11:10:47 · 274 阅读 · 0 评论 -
STL中的__is_trivial定义在哪里?
在查看stl源代码的时候,会发现std::is_trivial也是利用了__is_trivial,但是在STL查找,却没追踪到__is_trivial的定义,何解?百度了半天,也没发现谁准确地讨论了__is_trivial,全部都在围绕is_trivial讨论,很默契地避开了__is_trivial。几经周折,我在一个网站发现了端倪,https://manishearth.github.io/blog/2017/01/11/rust-tidbits-what-is-a-lang-item/其中有这样一句原创 2021-08-27 00:11:25 · 395 阅读 · 0 评论 -
C++中的Traits编程技巧有什么用?
如果你问C++中traist是干嘛的,很多网友会给你扛出“吓人的解释”:特性萃取技术!提取“被传进的对象”对应的返回类型!……嗯,听起来很高大上很牛逼,but,我还是不明白这玩意有啥用?相比枯燥的解释,让我们先看一个实际的需求。用过STL容器的同学都知道,STL自己有一套内存管理,我们直接使用容器就行了,一般情况下,不用关心容器内部的内存处理。但总存在一些情况,我们必须自己手动管理一些对象的内存,比如一个比较大的项目中,有大量对象的频繁申请释放,需要设计一个内存池,让不同的对象都能使用这套内存池。在原创 2021-08-25 14:25:52 · 398 阅读 · 0 评论 -
stl中的conditional_t是干嘛的?
stl源码中,有个很基础的类型conditional_t,conditional_t有什么用?在回答这个问题之前,先看几个简单的例子。现在有如下需求,有两个类A、B,如下:struct A{ int a= 10;};struct B{ float b = 200.0f;};问题1:现在新加一个类O,我希望它有时候继承A,有时候继承B,该怎么办?我们知道,一般继承情况下,O要么继承A,要么继承B,要么多继承A、B,怎么会既可能继承A,又可能继承B呢?从描述中,我们得出一个信息:原创 2021-08-24 18:28:55 · 2573 阅读 · 2 评论