使用现代 C 结构在连续的元素对之间进行迭代
迭代序列并使用分隔符打印其元素的任务,但是排除最后一个元素后面的分隔符是一个常见的编程挑战。虽然具有显式 next() 函数调用的传统 C 风格循环或迭代器提供了解决方案,但这些方法对于与现代 C 功能一起使用可能不够优雅或简洁。
利用 C 11 构造的一种方法涉及引入变量来动态跟踪当前迭代状态,如下:
<code class="cpp">const auto separator = "WhatYouWantHere"; const auto* sep = ""; for (const auto& item : items) { std::cout << sep << item; sep = separator; }</code>
在此解决方案中,我们初始化一个常量变量分隔符来存储所需的分隔符字符串。我们还创建一个指向常量 char sep 的指针,该指针最初指向一个空字符串,从而有效地抑制第一个元素之前的任何输出。
在基于范围的循环中,我们连接 sep 的当前值与当前元素并打印结果。在此步骤之后,我们将 sep 设置为指向分隔符常量,从而有效地为所有后续元素插入分隔符。
通过采用此方法,我们避免了对第一个或最后一个元素的显式分支或特殊情况的需要元素。优雅而简洁的语法使其成为现代 C 代码库中迭代序列和在连续元素之间插入分隔符的合适解决方案。
以上是如何在现代 C 中优雅地在连续的元素对之间进行迭代并插入分隔符?的详细内容。更多信息请关注PHP中文网其他相关文章!