我是新的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的完整指南,本書的哪一部分涵蓋了上述語法?