C++23 的周期里又补充了四个非常重要的容器,这应该是继 C++11 加入 unordered_{map|set} 以来, 终于再次向 STL 里增加的容器。这四个容器是其实就是 map/set/multimap/multiset 的 flat 版本。 flat_map flat_set flat_multimap flat_multiset 1 Speci
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 参数成为一个显式参数。而不破坏以
1 Stateful MetaprogrammingA C++ trick is known as “stateful metaprogramming”, in which one manipulates friend functions and template instantiation to introduce a utilizable state into the compilation.
1 2 3 4 5 6 constexpr bool func() { /* something */ } constexpr bool a = func(); constexpr bool b = func(); // Think this assertion always fails? With stateful metaprogramming, think again. static_assert(a != b); Maybe ill-formed? or UB?
(全部的内容都是零碎的,没头没尾的,写给自己的,当下的想法,没想是个文章,就这样吧) 仅仅是起床,床单就会皱起来;仅仅是活着,人也会皱起来。和
1 解决什么问题?标题是要聊一下 C++20 带来的一些新的很有意思的新机制,或者说是新轮子。 用来解决库函数或者一些通用函数定制用户类型的行为的抽象。 比如
0.1 0x01平时其实都没有写类似年终总结这类东西的习惯的,但是今年就想了想,还是想搞点什么东西。 或者是记下来我这个和平时也没啥区别的一年? 不过