Skip to content

TAG_COLLECTION //

C++

共有 32 篇笔记使用了这个 Tag。

模板元编程

template, 编译期的语言, 一方面可以看成是 “ 以数据类型作为变量的函数 ”; 另一方面可以视作 “ 在编译期进行的代码生成 ( 代码渲染 ) ”

指针

又一次栽在指针上,这次涉及到多态和类型转化等略微复杂一点的,所以略作总结下.

Atomic

std::atomic, 用于定义原子变量, 允许多个线程按照 C++ 内存模型进行读写等操作. 一般用于线程之间共享状态等.

const

讲述const在各个位置的语义和使用场景,其中 const 的作用时机主要是运行时(runtime),如果需要在编译期优先等,可以使用constexpr等关键字

Effective C++ Item 11

《Efficient C++》Item 11 的 等号赋值这块,确实很多是之前会忽略的东西 —— 比如 a a 这种看上去有点愚蠢的写法。

Exception

Error 是问题 (废话), 那么一般来说可以分为编译期发现的和运行期间发现的. 此处简单说下 C++ 提供的一套在 Runtime 的时候对于 Error 的捕获,传播,处理等的机制 —— 也就是 Exception Handling

PImpl

Pointer to Implementation, 其核心思想是让公开类只保存一个指向真正实现对象的指针,保证对外暴露稳定干净的接口,同时隐藏掉内部的实现细节

RAII

全称资源获取即初始化(英语:Resource Acquisition Is Initialization)

span

简单来说,是对一段连续对象序列的非拥有视图 —— 比如我们通常会使用vector,array,或者其他方式来表示一段连续空间,那么提出span看似没有什么用途,不过为什么依然会频繁的出现在接口设计当中?

Released under the MIT License.