#include #include int increment(int value) { return value + 1; } int main() { int values[]{3, 5, 7}; int* slots[3]{&values[0], &values[1], &values[2]}; int (*row)[3] = &values; using Unary = int (*)(int); Unary apply = &increment; assert(*slots[1] == 5); assert((*row)[2] == 7); assert(apply((*row)[0]) == 4); using P = int*; static_assert(std::is_same::value, "const qualifies pointer"); }