首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
后端技术小屋
掘友等级
clickhouse开发
|
百度
微信公众号:后端技术小屋。专注C++/Go/Java后端技术:分布式,中间件,大数据,性能优化,监控,高可用,虚拟化
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
9
文章 9
沸点 0
赞
9
返回
|
搜索文章
最新
热门
C/C++关键字之restrict
在C语言中,restrict关键字用于修饰指针(C99标准)。通过加上restrict关键字,编程者可提示编译器:在该指针的生命周期内,其指向的对象不会被别的指针所引用。 需要注意的是,在C++中,并无明确统一的标准支持restrict关键字。但是很多编译器实现了功能相同的关键…
推荐几个好用的效率神器
工欲善其器,必先利其器。性能与效率是程序员们永恒的追求,对代码如此,对日常搬砖也应如此。对于日常搬砖过程中的热点操作,本文推荐几个好用的在线工具,只愿各位同仁少加班,早下班,Work Life Balance, 两开花! 在日常开发中,可能需要用到一些不太熟的命令。要想快速了解…
STL源码分析--functional
一元函数对象,是指这类函数对象只接受一个参数并返回一个参数。 unary_function为STL中所有一元函数对象的基类。它定义了一元函数对象的输入/输出参数类型,其中argument_type为输入参数类型,result_type为输出参数类型,这两种类型由输入模板参数推导…
STL源码分析--algorithm
STL中实现了一些跟容器相关的一些算法。这里介绍algorithm头文件中一些有意思的算法实现。 algorithm头文件中定义的find函数可适用于所有定义了迭代器的STL容器。但是一些常用的容器如map/unordered_map/set/unordered_set也定义了…
STL源码分析--bitset
bitset中STL中用于表示位图的容器,它支持读写特定bit、从整数或字符串生成bitset对象。bitset大小通过模板参数指定,一旦编译器确定便无法变更,这一点与vector<bool>有差异。 bitset是_Base_bitset的派生类。_Base_bit…
STL源码分析--rbtree
首先重温下红黑树的定义。同时满足以下条件的二叉树才可称之为红黑树: 根节点为红色。 所有叶子节点为黑色。 如果一个节点为红色,那么它的子节点为黑色。 从任意给定节点向下到达叶子节点,经过相同数量的黑色节点。 _Rb_tree_base定义了红黑树基本的数据结构。 从代码中看到,…
STL源码分析--traits
traits(译作萃取)是C++中一种特殊的编程技法,它是模板元编程最直接的用例之一。通过traits,可以抽取模板入参类型的各种属性。接下来我们通过STL中最常见的几种traits举例说明。 __type_traits用于判断类型是否为trival(译作平凡)。 如果一个类型…
STL源码分析--iterator
在STL中,迭代器分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器。这里先讲输入迭代器这个大类。 输入迭代器指向的位置只能被顺序读取(iterator_category类型为input_iterator_tag)。在每种迭代器类型中,必须定义iterator_…
STL源码分析--deque
deque为双向队列,同时支持从队首和队尾插入和弹出值。其数据结构分为两部分,如下图所示: 连续缓冲区_M_map, 元素类型为——Tp*。如果元素值不为NULL,则指向某个内存块;deque中使用__nstart(二级指针类型__Tp**)指向第一个内存块对应的数组元素;__…
STL源码分析--hashtable
hash是一个函数对象,它对各种不同类型的值进行哈希,并返回size_t类型的哈希值。在x64平台下,size_t的长度为8 Byte。 这里的哈希算法还是非常简单的。假设字符串长度为n, 最终哈希值为 在$$s[0]\times5^{n-1} + s[1]\times5{n-…
下一页
个人成就
文章被点赞
47
文章被阅读
28,261
掘力值
940
关注了
13
关注者
25
收藏集
2
关注标签
14
加入于
2018-12-04