@@ -178,9 +178,9 @@ struct Reducer {
178
178
};
179
179
180
180
int reduce(vector<int> v, Reducer *reducer) {
181
- int res = reducer. init();
181
+ int res = reducer-> init();
182
182
for (int i = 0; i < v.size(); i++) {
183
- res = reducer. add(res, v[i]);
183
+ res = reducer-> add(res, v[i]);
184
184
}
185
185
return res;
186
186
}
@@ -251,12 +251,12 @@ SumReducer 和 ProductReducer 无需任何修改,体现了**开闭原则**。
251
251
252
252
``` cpp
253
253
int reduce (Reducer * reducer) {
254
- int res = reducer. init();
254
+ int res = reducer-> init();
255
255
while (true) {
256
256
int tmp;
257
257
cin >> tmp;
258
258
if (tmp == -1) break;
259
- res = reducer. add(res, tmp);
259
+ res = reducer-> add(res, tmp);
260
260
}
261
261
return res;
262
262
}
@@ -268,20 +268,20 @@ int reduce(Reducer *reducer) {
268
268
269
269
```cpp
270
270
int cin_reduce(Reducer *reducer) {
271
- int res = reducer. init();
271
+ int res = reducer-> init();
272
272
while (true) {
273
273
int tmp;
274
274
cin >> tmp;
275
275
if (tmp == -1) break;
276
- res = reducer. add(res, tmp);
276
+ res = reducer-> add(res, tmp);
277
277
}
278
278
return res;
279
279
}
280
280
281
281
int vector_reduce(vector<int> v, Reducer *reducer) {
282
- int res = reducer. init();
282
+ int res = reducer-> init();
283
283
for (int i = 0; i < v.size(); i++) {
284
- res = reducer. add(res, v[i]);
284
+ res = reducer-> add(res, v[i]);
285
285
}
286
286
return res;
287
287
}
@@ -297,9 +297,9 @@ struct Inputer {
297
297
};
298
298
299
299
int reduce(Inputer * inputer, Reducer * reducer) {
300
- int res = reducer. init();
301
- while (int tmp = inputer. fetch()) {
302
- res = reducer. add(res, tmp);
300
+ int res = reducer-> init();
301
+ while (int tmp = inputer-> fetch()) {
302
+ res = reducer-> add(res, tmp);
303
303
}
304
304
return res;
305
305
}
@@ -353,9 +353,9 @@ Inputer 负责告诉 reduce 函数如何读取数据,Reducer 负责告诉 redu
353
353
354
354
```cpp
355
355
int reduce(Reducer *reducer) {
356
- int res = reducer. init();
357
- while (int tmp = reducer. fetch()) { // fetch 凭什么和 init、add 放在一起?
358
- res = reducer. add(res, tmp);
356
+ int res = reducer-> init();
357
+ while (int tmp = reducer-> fetch()) { // fetch 凭什么和 init、add 放在一起?
358
+ res = reducer-> add(res, tmp);
359
359
}
360
360
return res;
361
361
}
@@ -430,7 +430,7 @@ struct StopInputerAdapter : Inputer {
430
430
{}
431
431
432
432
optional<int > fetch () override {
433
- auto tmp = inputer. fetch();
433
+ auto tmp = inputer-> fetch();
434
434
if (tmp == stopMark)
435
435
return nullopt;
436
436
return tmp;
@@ -466,7 +466,7 @@ struct FilterInputerAdapter {
466
466
467
467
optional<int> fetch() override {
468
468
while (true) {
469
- auto tmp = inputer. fetch();
469
+ auto tmp = inputer-> fetch();
470
470
if (!tmp.has_value()) {
471
471
return nullopt;
472
472
}
@@ -515,7 +515,7 @@ struct FilterInputerAdapter : Inputer {
515
515
516
516
optional<int> fetch() override {
517
517
while (true) {
518
- auto tmp = inputer. fetch();
518
+ auto tmp = inputer-> fetch();
519
519
if (!tmp.has_value()) {
520
520
return nullopt;
521
521
}
@@ -595,8 +595,8 @@ struct PoostInputerAdapter {
595
595
return res;
596
596
}
597
597
598
- if (poostIn. hasNext()) {
599
- return poostIn. getNext();
598
+ if (poostIn-> hasNext()) {
599
+ return poostIn-> getNext();
600
600
} else {
601
601
return nullopt;
602
602
}
0 commit comments