0. 前言
从 C++11 开始的现代 C++ 是 C++ 编程语言的一次重大变革,在维持稳定性的情况下,从易用性、安全性、效率等各个方面增加了许多现代编程语言的特性。自 C++11 问世以来,受到了 C++ 开发者的广泛青睐,大量 C++ 项目都转向现代 C++ 或使用现代 C++ 进行开发,其中就包括 ClickHouse。
ClickHouse 是一款优秀的开源 OLAP 数据库,其出现可以算得上是划时代的产品,工程实现亦可以称为业内标杆,精巧的向量化引擎设计与实现受到业内的广泛青睐和借鉴,引领了实时 OLAP 领域的一波浪潮。
本文会以 ClickHouse 代码为例,谈一谈其中使用到的一些常见现代 C++ 特性。然而,从 C++11 开始的现代 C++ 与之前版本的 C++ 相比,几乎可以算是一门新的语言,其包含太多新的语言特性和功能,因此本文不会详细罗列介绍现代 C++ 特性。