这里可能没有你想看的...
01
29
C++11 の 并发支持(Concurrency) C++11 の 并发支持(Concurrency)
C++11 新增了官方并发支持库,使得我们能够更好地在系统间移植程序,之前的 Boost 库等也就随之成为历史了。 并发与并行 多线程的世界中,常常会涉及这俩重要概念。 从定义的角度来说,在操作系统中,并发是指一个时间段中有几个程序都处于
2023-01-29
28
C++11 の 列表初始化(List Initialize) C++11 の 列表初始化(List Initialize)
在 C++11 中,可以直接在变量名后面用 {初始化列表} 来进行对象的初始化。 旧世界 C++11 以前,各种初始化方式如神仙打架,百花齐放,在同一个项目中,你或许可以看到如以下几种不同的初始化方式: class A { public
2023-01-28
20
C++11 の 左值与右值(Lvalue & Rvalue) C++11 の 左值与右值(Lvalue & Rvalue)
早年的 C++ 中已经出现了左值与右值这两个基本概念,但并不重要,平时也不怎么会用到。直到 C++11 引入了右值引用等新特性,这俩概念终于翻身做起了主人——它们是理解移动与转发语义的重要基础。 值 所有值类别可用以下韦恩图描述: 左值
2023-01-20
18
C++11 の 函数调用(Function Call) C++11 の 函数调用(Function Call)
C++11 新增了若干使函数调用更加方便的特性。 lambda 表达式 lambda 表达式是闭包类型的纯右值变量,也可以称之为匿名函数。其基本用法为: auto func = [ 捕获 ] ( 参数列表 ) 可选说明符 -> 返回
2023-01-18
17
C++11 の 别名(Alias) C++11 の 别名(Alias)
虽然使用 auto 可以大大简化代码,但对于一些使用 dynamic_cast 的结果不能用 auto 作为占位符。将冗长的变量类型简化仍然是很头疼的一个问题,幸好 C++11 提供了用关键字 using 给类型起别名的特性,既能有效简化代
2023-01-17
16
C++11 の 类型推导(Auto & Decltype) C++11 の 类型推导(Auto & Decltype)
C++11引入了 auto 和 decltype 这两个关键字,从而可以在编译期就推导出变量或者表达式的类型,方便开发者编码也简化了代码。 auto 关键字 auto 的作用便是自动推导变量/函数(C++14起)/模板(C++20起)的类
2023-01-16
14
C++ の 流(Stream) C++ の 流(Stream)
C++ 程序常用 cin , cout 进行标准 I/O(从键盘读取数据,或输出数据到屏幕),当然也可以进行文件 I/O (基于文件的数据读写)。这些行为本质上都是进行数据传输——数据向水流一样从一个地方流到另一个地方。C++11 中,将这
2023-01-14
12
12
CMU15445 Project#3 Query Execution CMU15445 Project#3 Query Execution
到目前为止,咱们已经完成了存储与索引部分的功能实现,接下来就进入执行层面的内容了。 >>> LAB 主页传送门 <<< 在 Bustub 框架下,执行层面采用火山模型,又称 Iterator 模型。该计
2023-01-12
10
CMU15445 Project#2 B+ Tree CMU15445 Project#2 B+ Tree
接下来开始存储与索引部分的实现。手撕 B+ 树! >>> LAB 主页传送门 <<< Task #1 - B+Tree Pages 首先,在本 lab 中,B+ 树的所有节点都以 BPlusTreePa
2023-01-10