Eae*_*Eae 2 c++ constructor ampersand
systemclass.h
class SystemClass
{
public:
SystemClass();
SystemClass(const SystemClass&);
~SystemClass();
bool Initialize();
void Shutdown();
void Run();
LRESULT CALLBACK MessageHandler(HWND, UINT, WPARAM, LPARAM);
private:
bool Frame();
void InitializeWindows(int&, int&);
void ShutdownWindows();
private:
LPCWSTR m_applicationName;
HINSTANCE m_hinstance;
HWND m_hwnd;
InputClass* m_Input;
GraphicsClass* m_Graphics;
};
Run Code Online (Sandbox Code Playgroud)
systemclass.cpp
SystemClass::SystemClass()
{
m_Input = 0;
m_Graphics = 0;
}
SystemClass::SystemClass(const SystemClass& other)
{
}
SystemClass::~SystemClass()
{
}
Run Code Online (Sandbox Code Playgroud)
我的问题是关于systemclass.h中的定义:
SystemClass(const SystemClass&);
Run Code Online (Sandbox Code Playgroud)
我不记得曾经在这样的类名之后看过"&".的意义是什么:
const SystemClass&
Run Code Online (Sandbox Code Playgroud)
代码来自rastertek.com的C++ DirectX11教程4.
的&表示该参数通过引用而不是由值来传递.您选择的特定成员恰好是复制构造函数,即复制值时调用的构造函数.如果不能通过值获取其参数,因为通过复制它将产生值...
类型const SystemClass&(或者,放入const正确的位置SystemClass const&)是const对类型对象的引用SystemClass.