c++进阶学习

Billy1213810 小时前
c++20·c++进阶学习
Day15-C++20 三路比较运算符 `<=>`:一次定义,全面排序C++进阶计划 · Day 15 | 预计学习时长:2小时在 C++20 之前,实现一个完整的可比较类型是一项繁琐的工作。你需要手写 6 个比较运算符(==、!=、<、<=、>、>=),每一个都要保证逻辑一致性。这不仅冗长,还容易出错——比如 < 和 > 的定义不一致,导致排序算法行为异常。
Billy121387 天前
开发语言·c++进阶学习
Day10-C++20 Ranges(上):惰性求值与组合式数据处理C++进阶计划 · Day 10 | 预计学习时长:2小时如果说 Day 9 的 Concepts 是 C++20 的"宪法",那么 Ranges 就是基于这部宪法构建的"城市"。Concepts 定义了什么是合格的"公民"(类型),而 Ranges 则利用这些概念构建了一套全新的数据处理范式——惰性求值(Lazy Evaluation)与组合式编程(Composition)。
Billy1213815 天前
c++20·c++进阶学习
C++20 Concepts:约束与概念的现代范式C++进阶计划 · Day 09 | 预计学习时长:2小时C++20 Concepts 是自 C++11 模板元编程诞生以来最重要的语言特性之一。它将模板约束从"隐式契约"提升为"显式声明",让编译器在模板实例化前就能提供有意义的错误信息,将 SFINAE 的隐式失败转变为 Concepts 的显式约束。
Billy1213822 天前
开发语言·c++进阶学习
结构化绑定与 if constexprC++进阶计划 · Day 7 | 预计学习时长:2小时Day 6 我们掌握了类型安全的容器——std::optional、std::variant、std::any。它们解决了"值可能不存在"和"类型不确定"的问题。但还有一个痛点:怎么优雅地拆解这些复合类型?
我是有底线的