C++ 范围循环遍历菜单并筛选价格:代码详解
这段代码使用范围基于范围的循环(range-based for loop)遍历一个名为'menu'的容器,对于容器中的每个元素('item'),如果它的价格('price')在[minPrice, maxPrice]的范围内,就输出该元素的id、名称('name')、价格和数量('quantity')。其中'auto'关键字和'const'修饰符用于自动推导'item'的类型并保证不会修改'item'的值,而'&'符号表示使用引用传递'item',避免对'item'进行拷贝操作,提高效率。
代码示例:
for (const auto& item : menu) {
if (item.price >= minPrice && item.price <= maxPrice) {
cout << item.id << "\t" << item.name << " ¥ " << item.price << " " << item.quantity << endl;
}
}
代码解析:
for (const auto& item : menu): 使用范围循环遍历 'menu' 容器,'item' 代表容器中的每个元素。const auto&: 使用 'const' 和 '&' 修饰符,保证 'item' 是一个常量引用,既能访问 'item' 的成员,又能避免拷贝操作。item.price >= minPrice && item.price <= maxPrice: 判断 'item' 的价格是否在指定范围内。cout << ...: 输出符合条件的 'item' 信息。
总结:
这段代码通过范围循环和条件判断,有效地实现了对菜单容器的遍历和价格筛选,并使用常量引用传递提高了代码效率。
原文地址: https://www.cveoy.top/t/topic/oJXP 著作权归作者所有。请勿转载和采集!