<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>惰性求值 on PlumePHP</title><link>https://plumephp.com/tags/%E6%83%B0%E6%80%A7%E6%B1%82%E5%80%BC/</link><description>Recent content in 惰性求值 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 30 Sep 2026 18:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E6%83%B0%E6%80%A7%E6%B1%82%E5%80%BC/index.xml" rel="self" type="application/rss+xml"/><item><title>C++20 Ranges 与惰性求值视图</title><link>https://plumephp.com/cpp-ranges-views/</link><pubDate>Wed, 30 Sep 2026 18:00:00 +0800</pubDate><guid>https://plumephp.com/cpp-ranges-views/</guid><description>&lt;p&gt;C++ 的 &lt;code&gt;&amp;lt;algorithm&amp;gt;&lt;/code&gt; 头文件提供了丰富的通用算法，但长期以来，``链式调用&lt;code&gt;始终是一大痛点。写 &lt;/code&gt;filter&lt;code&gt;后接&lt;/code&gt;transform&lt;code&gt;意味着创建至少两个中间容器，而且代码读起来是「由内到外」的嵌套结构。C++20 Ranges 库从根本上改变了这一现状：它引入了惰性求值的视图（views）和管道操作符&lt;/code&gt;|`，让数据处理代码回归声明式的自然阅读顺序。本文将系统梳理 Ranges 的核心概念，展示其与传统 STL 的对比，并深入自定义 view 的实现方法。&lt;/p&gt;</description></item></channel></rss>