资讯动态

View的三大特性之一:轻量级

发布时间:2026/10/1 0:16:55 来源:尧图企业网站定制
如大家所了解的View的轻量级可以体现在多个方面。它拥有常量时间复杂度的构造复制移动操作。大多数view是以视图为设计理念进行对数据的处理和操作。其不保有原始数据也不会产生原始数据的副本。因此在内存开销方面也是常量级的。下面是一段简单的代码验证 view 是否会产生副作用如是否影响原数据。#include iostream #include ranges #include vector ​ int main() { std::vector arr {1, 2, 3, 4, 5}; auto res std::ranges::views::transform(arr, [](int x) { return x * x; }); ​ // 原始数据不会更改 std::cout Original vector: std::endl; for (int x : arr) { std::cout x ; } std::cout std::endl; ​ std::cout Handle view: std::endl; for (int x : res) { std::cout x ; } std::cout std::endl; }输出结果为Original vector: 1 2 3 4 5 Handle view: 1 4 9 16 25可见此处view的操作并没有原始的vector中的数据。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑