C++23: Flat Containers

C++23 的周期里又补充了四个非常重要的容器,这应该是继 C++11 加入 unordered_{map|set} 以来, 终于再次向 STL 里增加的容器。这四个容器是其实就是 map/set/multimap/multisetflat 版本。

  • flat_map
  • flat_set
  • flat_multimap
  • flat_multiset

1 Specialties

这组新的容器可以在合适的场景下替换其对应的容器(当然也包括了他们的 unordered_ 的版本), 和同功能的其他容器相比:

Deducing This

1 What is deducing this?

A new way of declaring non-static member functions that will allow for deducing the type and value category of the class instance parameter while still being invocable with regular member function syntax.

简单的说,就是让非静态成员函数的 this 参数成为一个显式参数。而不破坏以前的调用成员函数的语法。

Stateful Metaprogramming

1 Stateful Metaprogramming

A C++ trick is known as “stateful metaprogramming”, in which one manipulates friend functions and template instantiation to introduce a utilizable state into the compilation.

推し、燃ゆ

(全部的内容都是零碎的,没头没尾的,写给自己的,当下的想法,没想是个文章,就这样吧)

仅仅是起床,床单就会皱起来;仅仅是活着,人也会皱起来。和其他人说话需要绷紧理论上的肉,身体脏了需要泡澡,指甲长长了需要剪掉。最低限度的活着,也并非绞尽力气就一定能做到。我总是在完成最低限度之前,意识和身体就断联了。

Customization Point Object

1 解决什么问题?

标题是要聊一下 C++20 带来的一些新的很有意思的新机制,或者说是新轮子。 用来解决库函数或者一些通用函数定制用户类型的行为的抽象。 比如,我现在要实现一个通用的算法:

2020 总结

平时其实都没有写类似年终总结这类东西的习惯的,但是今年就想了想,还是想搞点什么东西。 或者是记下来我这个和平时也没啥区别的一年?
不过有一说一,我这去年的总结来的还有点晚?hhh