{"version":1,"pages":[{"id":"-MM8cUPJaK7jA8WyRyVS","title":"Introduction","pathname":"/cpp-17-stl-cookbook","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_vrgRbzrIj6LNfr","title":"前言","pathname":"/cpp-17-stl-cookbook/preface-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_vseYgzSl6HAKpp","title":"关于本书","pathname":"/cpp-17-stl-cookbook/about-this-book-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_vtAX-avt7PEnA6","title":"各章梗概","pathname":"/cpp-17-stl-cookbook/chapters-summary-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_vukINOtkFYpsq-","title":"第1章 C++17的新特性","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_vvaXMFAnmgHCHd","title":"使用结构化绑定来解包绑定的返回值","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_vwb-jMW-rCQCWX","title":"将变量作用域限制在if和switch区域内","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_vxTg-uJ5sEfosn","title":"新的括号初始化规则","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_vykE_foDpG38ag","title":"构造函数自动推导模板的类型","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_vz5zSKTXHoytzE","title":"使用constexpr-if简化编译","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_w-Y-9UuTzlrqLS","title":"只有头文件的库中启用内联变量","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_w0Mu7AW9ceFHVZ","title":"使用折叠表达式实现辅助函数","pathname":"/cpp-17-stl-cookbook/chapter1-0-chinese/chapter1-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第1章 C++17的新特性"}]},{"id":"-MM8c_w1fmwZ7PTEyr0-","title":"第2章 STL容器","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_w2-gMKt7axMzd_","title":"擦除/移除std::vector元素","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w3zEnLG9d1A0Xg","title":"以O(1)的时间复杂度删除未排序std::vector中的元素","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w4ATr_eN0vNUyw","title":"快速或安全的访问std::vector实例的方法","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w5pIetNtnG_-op","title":"保持对std::vector实例的排序","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w6Jl39qPwob54R","title":"向std::map实例中高效并有条件的插入元素","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w7J1XMRnw1ST65","title":"了解std::map::insert新的插入提示语义","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w89OjiYukB4rXS","title":"高效的修改std::map元素的键值","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_w9EuZpQlHnWnYm","title":"std::unordered_map中使用自定义类型","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_wAatIxi6MgOkCN","title":"过滤用户的重复输入，并以字母序将重复信息打印出——std::set","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-9-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_wB24EBBm6Aubxs","title":"实现简单的逆波兰表示法计算器——std::stack","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-10-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_wC49EKLbqFcvvi","title":"实现词频计数器——std::map","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-11-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_wDICski2xS0nHA","title":"实现写作风格助手用来查找文本中很长的句子——std::multimap","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-12-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_wE4xc9xFmaC5Gw","title":"实现个人待办事项列表——std::priority_queue","pathname":"/cpp-17-stl-cookbook/chapter2-0-chinese/chapter2-13-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第2章 STL容器"}]},{"id":"-MM8c_wF-TcnKr0JtTUL","title":"第3章 迭代器","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_wGB5ImwHdmnek0","title":"建立可迭代区域","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wH5TrvM1kSxBtd","title":"让自己的迭代器与STL的迭代器兼容","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wI2F4xyXRl9N_q","title":"使用迭代适配器填充通用数据结构","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wJ6vG_bNetdnOe","title":"使用迭代器实现算法","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wK8uzxJQN6mCwE","title":"使用反向迭代适配器进行迭代","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wLeWpn5X4XizW3","title":"使用哨兵终止迭代","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wMce5PN0KX0AET","title":"使用检查过的迭代器自动化检查迭代器代码","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wNpOQRaD21LKor","title":"构建zip迭代适配器","pathname":"/cpp-17-stl-cookbook/chapter3-0-chinese/chapter3-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第3章 迭代器"}]},{"id":"-MM8c_wO3vDOD19btEn2","title":"第4章 Lambda表达式","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_wPUXN7fjjgWoSh","title":"使用Lambda表达式定义函数","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wQLfuPYsTBwF_Y","title":"使用Lambda为std::function添加多态性","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wRqicAu844QW-0","title":"并置函数","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wSlYB9NefaYJph","title":"通过逻辑连接创建复杂谓词","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wTBhJoqI_1ROvY","title":"使用同一输入调用多个函数","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wUCjmnCNJZE1rc","title":"使用std::accumulate和Lambda函数实现transform_if","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wV-WfdLbXsm1yg","title":"编译时生成笛卡尔乘积","pathname":"/cpp-17-stl-cookbook/chapter4-0-chinese/chapter4-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第4章 Lambda表达式"}]},{"id":"-MM8c_wWYIKdvmMGyIXt","title":"第5章 STL基础算法","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_wX_jbRdT8IzSLz","title":"容器间相互复制元素","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wY-AwWwVDX-x_M","title":"容器元素排序","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wZJm34TD61Rr_o","title":"从容器中删除指定元素","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_w_1DuzRpfPHLwc","title":"改变容器内容","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wa8YYIlvgekS_4","title":"在有序和无序的vector中查找元素","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wbdBKUstorUSpb","title":"将vector中的值控制在特定数值范围内——std::clamp","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wcZrweufMQbuLL","title":"在字符串中定位模式并选择最佳实现——std::search","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wdvktxUed6Cze9","title":"对大vector进行采样","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wekezevFwMKaxF","title":"生成输入序列的序列","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-9-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wfNKYrJ1n6a55q","title":"实现字典合并工具","pathname":"/cpp-17-stl-cookbook/chapter5-0-chinese/chapter5-10-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第5章 STL基础算法"}]},{"id":"-MM8c_wggAIsSdbp5CwS","title":"第6章 STL算法的高级使用方式","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_whnsvoMGAxYRwn","title":"使用STL算法实现单词查找树类","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wiE5PSx6NSCB3l","title":"使用树实现搜索输入建议生成器","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wj3XpQUk31WlKC","title":"使用STL数值算法实现傅里叶变换","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wkITiDk4es_ydC","title":"计算两个vector的误差和","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wlueDMbngRKICl","title":"使用ASCII字符曼德尔布罗特集合","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wmjkUtfyb1z47p","title":"实现分割算法","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wn2O7GN2ROMXnh","title":"将标准算法进行组合","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wo98XvUhqwb9c8","title":"删除词组间连续的空格","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wpdqlCa5vfJzAC","title":"压缩和解压缩字符串","pathname":"/cpp-17-stl-cookbook/chapter6-0-chinese/chapter6-9-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第6章 STL算法的高级使用方式"}]},{"id":"-MM8c_wqggsDHtpTE-Ay","title":"第7章 字符串, 流和正则表达","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_wrmLIpzOkD_UN7","title":"创建、连接和转换字符串","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wsPRPyzI6HRIQ0","title":"消除字符串开始和结束处的空格","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wtKObekSyuhOlE","title":"无需构造获取std::string","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wuwKhZrlXSmOWw","title":"从用户的输入读取数值","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wvBelzA2P41xYx","title":"计算文件中的单词数量","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wwcAs3YveZINRc","title":"格式化输出","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wxJhivArVEv3Sb","title":"使用输入文件初始化复杂对象","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wyJr0R-a0sLeMv","title":"迭代器填充容器——std::istream","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_wzrFj74RHarkwX","title":"迭代器进行打印——std::ostream","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-9-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_x-MFgZ_YzQVbHM","title":"使用特定代码段将输出重定向到文件","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-10-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_x0lSDKz2lYffKx","title":"通过集成std::char_traits创建自定义字符串类","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-11-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_x19cY9J2Ycd3sD","title":"使用正则表达式库标记输入","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-12-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_x2izzSM129c_IB","title":"简单打印不同格式的数字","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-13-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_x3L8N5zVh4Onr4","title":"从std::iostream错误中获取可读异常","pathname":"/cpp-17-stl-cookbook/chapter7-0-chinese/chapter7-14-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第7章 字符串, 流和正则表达"}]},{"id":"-MM8c_x42_FpvpFYNrUr","title":"第8章 工具类","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_x5iPpNISFSwXc4","title":"转换不同的时间单位——std::ratio","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_x6mSTbyWKTNOzO","title":"转换绝对时间和相对时间——std::chrono","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_x7tkrfRwUQjhHm","title":"安全的标识失败——std::optional","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_x8S-ieYxAv-AgM","title":"对元组使用函数","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_x9fZFoaD5-4xLp","title":"使用元组快速构成数据结构","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xA9JUNRnYR2kap","title":"将void*替换为更为安全的std::any","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xBXzV84t-w_6TC","title":"存储不同的类型——std::variant","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xC1G0Ulr3rks53","title":"自动化管理资源——std::unique_ptr","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xDR5Xtz6f4maOq","title":"处理共享堆内存——std::shared_ptr","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-9-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xEjXS4JrAx9Jxi","title":"对共享对象使用弱指针","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-10-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xFBvwA8h5x6B5M","title":"使用智能指针简化处理遗留API","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-11-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xGJRjFDnitrsMx","title":"共享同一对象的不同成员","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-12-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xH2xbwjMTAkh9u","title":"选择合适的引擎生成随机数","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-13-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xIGlAdVLtRjB-G","title":"让STL以指定分布方式产生随机数","pathname":"/cpp-17-stl-cookbook/chapter8-0-chinese/chapter8-14-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第8章 工具类"}]},{"id":"-MM8c_xJEzCY7ho66AeZ","title":"第9章 并行和并发","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_xKz8VwyS3btO8O","title":"标准算法的自动并行","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xLHNJooKBxZl4S","title":"让程序在特定时间休眠","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xMXmjVFy9Wft3o","title":"启动和停止线程","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xNPkzdfx3pP5-P","title":"打造异常安全的共享锁——std::unique_lock和std::shared_lock","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xOsu3_wIv_QXbq","title":"避免死锁——std::scoped_lock","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xP0EFa6P7I9H1f","title":"同步并行中使用std::cout","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xQ02AB9sd3XIbg","title":"进行延迟初始化——std::call_once","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xRyBPZHr4NVb-5","title":"将执行的程序推到后台——std::async","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xSohC9oB0j59hz","title":"实现生产者/消费者模型——std::condition_variable","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-9-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xTcT7kVpnKjNCT","title":"实现多生产者/多消费者模型——std::condition_variable","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-10-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xUPn9iw-NZ5LoA","title":"并行ASCII曼德尔布罗特渲染器——std::async","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-11-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xVZBexBz6XK6gG","title":"实现一个小型自动化并行库——std::future","pathname":"/cpp-17-stl-cookbook/chapter9-0-chinese/chapter9-12-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第9章 并行和并发"}]},{"id":"-MM8c_xWx_97Hah0cAfe","title":"第10章 文件系统","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese","siteSpaceId":"sitesp_A4Dmn","description":""},{"id":"-MM8c_xXLAdQKX8tcJ5t","title":"实现标准化路径","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-1-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_xYLVc4fstNx955","title":"使用相对路径获取规范的文件路径","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-2-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_xZBJRUX5uMUsHb","title":"列出目录下的所有文件","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-3-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_x_zR2Do9RhO2Ro","title":"实现一个类似grep的文本搜索工具","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-4-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_xaQpxAVBGF5Xl4","title":"实现一个自动文件重命名器","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-5-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_xbRAk3EP5ZtP71","title":"实现一个磁盘使用统计器","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-6-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_xcSIubRMP05w3P","title":"计算文件类型的统计信息","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-7-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]},{"id":"-MM8c_xd-WjHBnWUvFAD","title":"实现一个工具：通过符号链接减少重复文件，从而控制文件夹大小","pathname":"/cpp-17-stl-cookbook/chapter10-0-chinese/chapter10-8-chinese","siteSpaceId":"sitesp_A4Dmn","description":"","breadcrumbs":[{"label":"第10章 文件系统"}]}]}