我是新的C++模板的语法和遇到的这些C++模板相关的代码,但不能够明白自己的意思:需要帮助理解这个C++模板
class StringBuffer
{
CharBuffer cb;
..
template <size_t ArrayLength>
bool append(const char (&array)[ArrayLength]) {
return cb.append(array, array + ArrayLength - 1); /* No trailing '\0'. */
}
};
什么的布尔追加(为const char (& array)[ArrayLength])是什么意思?在我看来,函数模板将被实例化为带有特定ArrayLength的参数。但是,不是我们不能在函数的参数列表中指定数组长度吗? const char(& array)是什么意思?不应该像const char &(没有括号)?
我正在看书C++模板David Vandevoorde/Nicolai M.Josuttis的完整指南,本书的哪一部分涵盖了上述语法?