#include <iostream>
void foo(char const *f) {
std::cout << "char const *\n";
}
template <int N>
void foo(const char (&s)[N]) {
std::cout << "char[]\n";
}
int main() {
char a[2];
char const *b = "a string";
auto &&c = "Another string";
auto &d = "yet another string";
foo(a);
foo(b);
foo(c);
foo(d);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBmb28oY2hhciBjb25zdCAqZikgewogICAgc3RkOjpjb3V0IDw8ICJjaGFyIGNvbnN0ICpcbiI7Cn0KCnRlbXBsYXRlIDxpbnQgTj4gCnZvaWQgZm9vKGNvbnN0IGNoYXIgKCZzKVtOXSkgeyAKCXN0ZDo6Y291dCA8PCAiY2hhcltdXG4iOwp9CgppbnQgbWFpbigpIHsKCWNoYXIgYVsyXTsKCWNoYXIgY29uc3QgKmIgPSAiYSBzdHJpbmciOwoJYXV0byAmJmMgPSAiQW5vdGhlciBzdHJpbmciOwoJYXV0byAmZCA9ICJ5ZXQgYW5vdGhlciBzdHJpbmciOwoJZm9vKGEpOyAKCWZvbyhiKTsKCWZvbyhjKTsKCWZvbyhkKTsKfQo=