"const char(&a)[N]"是什么意思?

what does "const char(&a)[N]" mean?

本文关键字:是什么 意思 const char      更新时间:2023-10-16

我正在检查C 11功能,并查看以下代码:

class conststr {
    const char* p;
    std::size_t sz;
public:
    template<std::size_t N>
    constexpr conststr(const char(&a)[N]): p(a), sz(N - 1) {}
};

我知道const char a[],但是我与const char(&a)[N]感到非常困惑,任何人都知道如何使用?

这是对Nconst char数组的引用。这可能被用来接受字符串文字作为参数。

conststr("whatever"); // ok
char const * psz_whatever("whatever");
conststr(psz_whatever); // error