c++1218: 【入门】摘苹果
时间: 2024-10-05 11:01:20 浏览: 92
"C++12/18: 入门 - 摘苹果"这个话题通常是指学习C++11或C++14版本的新特性,可能涉及的一个简单示例是教学如何使用C++的lambda表达式(auto lambda)来模拟摘苹果游戏。Lambda函数是一种轻量级的匿名函数,可以方便地创建并作为参数传递给其他函数,比如在迭代容器元素时实现摘取操作。
在这个场景中,可能会有这样的代码:
```cpp
#include <iostream>
#include <vector>
// 假设我们有苹果和树的数据结构
struct Apple {
int value;
};
class Tree {
public:
void addApple(Apple apple) { apples.push_back(apple); }
std::vector<Apple> getApples() const { return apples; }
private:
std::vector<Apple> apples;
};
// 使用lambda表达式摘苹果
int main() {
Tree tree;
// 添加一些苹果到树上
tree.addApple({1});
tree.addApple({2});
tree.addApple({3});
// 使用lambda遍历树,打印每个苹果的价值
auto摘取 = [](const Apple& apple) -> void { std::cout << "摘到一个价值 " << apple.value << " 的苹果!\n"; };
for (const auto& apple : tree.getApples()) {
摘取(apple);
}
return 0;
}
```
阅读全文