Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- void apply(void (*FUN)(int &), int *begin, int *end) {
- for (int *p = begin; p != end; ++p) {
- (*FUN)(*p);
- }
- }
- void apply2(void FUN(int &), int *begin, int *end) {
- for (int *p = begin; p != end; ++p) {
- FUN(*p);
- }
- }
- void apply3(void (*FUN)(int &), int *begin, int *end) {
- for (int *p = begin; p != end; ++p) {
- FUN(*p);
- }
- }
- void apply4(void FUN(int &), int *begin, int *end) {
- for (int *p = begin; p != end; ++p) {
- (*FUN)(*p);
- }
- }
- void negate(int &i) {
- i = -i;
- }
- void print(int &i) {
- printf("%d ", i);
- }
- int main() {
- int a[] = {10, 0, -10, 9};
- const int N = sizeof(a) / sizeof(int);
- apply(negate, a, a + N);
- apply2(print, a, a + N);
- printf("\n");
- apply3(negate, a, a + N);
- apply4(print, a, a + N);
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement