首页
学习
活动
专区
工具
TVP
发布

HappenLee的技术杂谈

专栏作者
76
文章
92070
阅读量
29
订阅数
C++雾中风景18:C++20, 从concept开始
先从一个群友的一个实际的问题出发,我们来看看concept可以解决什么问题。是怎么样通过coding实现的。
HappenLee
2022-03-23
5860
C++雾中风景18:C++20, 从concept开始
先从一个群友的一个实际的问题出发,我们来看看concept可以解决什么问题。是怎么样通过coding实现的。
HappenLee
2022-03-12
1K0
Doris开发手记2:用SIMD指令优化存储层的热点代码
最近在进行Doris的部分查询调优工作,通过perf定位CPU执行热点时,发现了以下的热点部分:
HappenLee
2021-07-09
1.1K0
C++雾中风景17:模板的非推断语境与std::type_identity
众所周知,函数模板的使用是C++编译期进行类型推导的过程。通过分析源代码之中函数实参的类型,进一步推断出调用的函数参数的类型,从而自动生成对应的函数,来达到精简代码逻辑的效果。
HappenLee
2021-05-06
1K0
C++雾中风景17:模板的非推断语境与std::type_identity
众所周知,函数模板的使用是C++编译期进行类型推导的过程。通过分析源代码之中函数实参的类型,进一步推断出调用的函数参数的类型,从而自动生成对应的函数,来达到精简代码逻辑的效果。
HappenLee
2021-04-30
6740
ClickHouse源码笔记5:聚合函数的源码再梳理
话不多说,直接上代码,笔者这里会将所有聚合函数的核心接口代码全部列出,一一梳理各个部分:
HappenLee
2021-04-20
7700
ClickHouse源码笔记3:函数调用的向量化实现
这里调用一个abs的函数,我们先打开ClickHouse的Debug日志看一下执行计划。(当前ClickHouse不支持使用Explain语句来查看执行计划,这个确实是很蛋疼的~~)
HappenLee
2021-02-22
1.9K0
C++雾中风景16:std::make_index_sequence, 来试一试新的黑魔法吧
笔者这里先从一个简单的例子展开,先带大家看看std::make_index_sequence是如何使用的。
HappenLee
2021-01-05
1.9K0
【云+社区年度征文】C++雾中风景16:std::make_index_sequence, 来试一试新的黑魔法吧
笔者这里先从一个简单的例子展开,先带大家看看std::make_index_sequence是如何使用的。
HappenLee
2020-12-18
5460
C++雾中风景15:聊聊让人抓狂的Name Mangling
在进行编程的过程之中,我们常常遇见变量或函数重名的情况。比如:函数的重载,或通过不同程序块与命名空间变量与函数的重名。
HappenLee
2020-09-28
7610
C++雾中风景14:CRTP, 模板的黑魔法
C++11 引入了一个典型的CRTP的类:std::enable_shared_from_this 当我们有类需要被智能指针share_ptr管理,且需要通过类的成员函数里需要把当前类对象包装为智能指针传递出一个指向自身的share_ptr时。在这种情况下类就需要通过继承enable_shared_from_this,通过父类的成员函数shared_from_this来获取指向该类的智能指针。
HappenLee
2020-07-13
1.5K0
C++雾中风景番外篇4:GCC升级二三事
这个我感觉是历史的遗留问题了,从C++11开始就不支持字符串字面量后面直接连接变量名,GCC 4.8.2应该是没有支持该编译检查,所以后续升级8.2的时候报了类似的错误。
HappenLee
2020-02-24
7240
C++雾中风景13:volatile解惑
volatile这个单词在英文之中的意思是:易变的,不稳定的的含义。所以顾名思义,一旦变量通过了volatile关键词修饰之后,说明变量是易变的和不稳定的。而C++之中最大的误会就是认为volatile关键词与并发编程有关,至于为何会引起这样的误会呢?笔者觉得罪魁祸首可能是下面的原因:
HappenLee
2019-03-19
6671
C++雾中风景4:多态引出的困惑,对象的拷贝?
上面是两个继承关系的类定义。penguin(企鹅)类继承了bird类。在bird类之中fly()函数是一个virtual函数,它可以被penguin覆盖。我们看看正确的多态代码应该怎么编写:
HappenLee
2018-09-05
4270
C++雾中风景2:struct还是class?
在C++语言作为C语言的一个超集,但是并不兼容C语言的所有语法规则的。C语言是我学习的第一门编程语言,相对于对其中的语法规则比较熟悉,C语言之中可以使用struct关键字来将基础数据类型进行组合,实现很多类型如图,树等高级的数据结构。
HappenLee
2018-09-05
7320
C++雾中风景3:const用法的小结
const关键字,翻译成中文是常量,常数的意思。所以在绝大多数场合之中,const是来定义常量的,定义常量也是好的编程习惯。在C类语言之中,定义常量通常会使用宏定义或const关键字来定义常量。二者的区别就在于:
HappenLee
2018-09-05
7470
C++雾中风景5:Explicit's better than implicit.聊聊Explicit.
上面这段代码是可以通过编译运行的,可能有些小伙伴会比较困惑,为虾米这里printA函数明明需要接受的是一个A类型,但是传入的一个int类型仍然能够编译通过。
HappenLee
2018-09-05
3600
C++雾中风景7:闭包
闭包(closure)是函数式编程的重要的语法结构。 闭包的概念其实很简单,一言以蔽之:闭包是带有上下文的函数。说白了,就是有状态的函数。也就是说一个局部变量n,在被函数对象给“封闭”在函数里,从而能把值保存了下来,让函数能够保存状态。(其实本质上就是一个类,用纯粹面向对象的方式理解,函数也是一个对象)
HappenLee
2018-09-05
8580
C++雾中风景6:拷贝构造函数与赋值函数
这里我们显式声明了拷贝构造函数与赋值构造函数,接下来我们用一小段代码测试一下上面定义的类。(其他函数的定义并不完整,读者可以之行补全)
HappenLee
2018-09-05
5840
C++雾中风景10:聊聊左值,纯右值与将亡值
左值(lvalue)和右值(rvalue)是C++类型系统之中的基础概念,我们不需要了解这些基础概念,同样也能写出代码。但是如果没有弄清左右值的概念,对于许多C++高级特性的探索会一叶障目,所以笔者尝试总结一下自己对于左值与右值的理解。
HappenLee
2018-09-05
9220
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档