7得票1回答
在C++中,split_view和lazy_split_view有什么区别?

我已经阅读了最新的草案,其中添加了 lazy_split_view。 但后来我意识到,split_view 被重命名为 lazy_split_view,而 split_view 也被更新了。 libstdc++ 最近也通过使用 GCC Trunk 版本 https://godbolt.or...

7得票2回答
C++类成员名称查找规则中的Note 1是什么意思?

从 http://eel.is/c++draft/class.member.lookup#1: 在程序点 P 中,从作用域 X 中搜索名称 N 是指在 X 中对 N 进行一次搜索,除非 X 是类或类模板 T 的作用域,在这种情况下,以下步骤定义了搜索的结果。 注意1:仅当N是转换函数ID或...

7得票2回答
在C++23中,使用std::ranges/std::views与std::expected的最佳方法是什么?

让我描述一个场景,首先我们有一个函数,它返回一些数据,我们无法确定其有效性,即: auto random_predicate() -> bool { int v = uniform_dist(e1); // uniform distribution 1 to 100 r...

7得票2回答
在C++23中,何时使用CRTP而不是显式对象参数?

问题简短版本 C++23为我们提供了一种新的编写mixin类的方式(而不是CRTP)。是否有任何情况下仍然更喜欢使用CRTP? 两种方法的概述 CRTP是C++中的一个强大习语,利用模板在运行时自动生成特定于类型的行为。这通常用于创建mixin类。 C++23引入了显式对象参数,允许在...