Files
Basalt2/node_modules/shiki/samples/objective-cpp.sample
Robert Jelic b0a4a6da9c Vitepress
2025-02-10 06:53:23 +01:00

34 lines
632 B
Plaintext

#include <stdio.h>
#include <Block.h>
typedef int (^IntBlock)();
IntBlock MakeCounter(int start, int increment) {
__block int i = start;
return Block_copy( ^ {
int ret = i;
i += increment;
return ret;
});
}
int main(void) {
IntBlock mycounter = MakeCounter(5, 2);
printf("First call: %d\n", mycounter());
printf("Second call: %d\n", mycounter());
printf("Third call: %d\n", mycounter());
/* because it was copied, it must also be released */
Block_release(mycounter);
return 0;
}
/* Output:
First call: 5
Second call: 7
Third call: 9
*/
// From https://en.wikipedia.org/wiki/Objective-C