将对象传递给构造函数 SDL2.0 C++ 时语法混乱
Confusing syntax when passing in an object to a constructor SDL2.0 C++
从某种意义上说,这是一个不同的问题,我的代码可以正常工作,但我不确定它在做什么,我正在学习有关在 SDL 2.0 中进行渲染的教程。
我有以下构造函数来初始化要呈现的矩形的成员值:
rect::rect(const Window &window, int otherValues):Window(window), _memberValues(otherValues)
创建矩形对象时,我将 window 对象和初始化值传入构造函数,如下所示:
rect ro(window,someNumbers);
我的问题是我不明白
是什么意思
const Window &window
和
Window(window)
或者它们的确切含义。我知道如何初始化成员并将值传递给构造函数,但我不知道我的 window 对象的上下文中发生了什么。
如有任何解释,我们将不胜感激。
const Window &window
是类型为 Window
.
的名为 window
的常量 (const
) 引用 (&
)
const
关键字表示不可修改,&
表示按引用传递而不是按值传递(即不复制)。
Window(window)
是对 Window
的复制构造函数的调用,上面提到的 window
作为参数传入。据推测 rect
继承自 Window
因此为了构建 rect
它的 Window
也必须被构建。
从某种意义上说,这是一个不同的问题,我的代码可以正常工作,但我不确定它在做什么,我正在学习有关在 SDL 2.0 中进行渲染的教程。
我有以下构造函数来初始化要呈现的矩形的成员值:
rect::rect(const Window &window, int otherValues):Window(window), _memberValues(otherValues)
创建矩形对象时,我将 window 对象和初始化值传入构造函数,如下所示:
rect ro(window,someNumbers);
我的问题是我不明白
是什么意思const Window &window
和
Window(window)
或者它们的确切含义。我知道如何初始化成员并将值传递给构造函数,但我不知道我的 window 对象的上下文中发生了什么。
如有任何解释,我们将不胜感激。
const Window &window
是类型为 Window
.
window
的常量 (const
) 引用 (&
)
const
关键字表示不可修改,&
表示按引用传递而不是按值传递(即不复制)。
Window(window)
是对 Window
的复制构造函数的调用,上面提到的 window
作为参数传入。据推测 rect
继承自 Window
因此为了构建 rect
它的 Window
也必须被构建。