我需要帮助理解以下C ++代码(在.h文件中):
bool setFontDescription(const FontDescription& v)
{
if (inherited->font.fontDescription() != v) {
inherited.access()->font = Font(v, inherited->font.letterSpacing(), inherited->font.wordSpacing());
return true;
}
return false;
}
'字体(..)'是什么意思? Font是一个C ++类。 Font(...)是否意味着新的Font()?或者在堆栈上创建一个Font对象?
答案 0 :(得分:4)
这意味着在堆栈上创建一个Font,然后将该新Font分配给access() - >字体变量。当分配完成后,当setFontDescription返回时,堆栈上的Font被销毁。
答案 1 :(得分:4)
在堆栈上创建一个Font对象,作为临时对象。对象的范围是创建它的行。