Mar*_*lon 2 c++ pointers const reference
1)有人可以解释以下内容吗?
void OnCreate(HWND hWnd, const LPCREATESTRUCT lpCreateStruct)
{
lpCreateStruct->x = 2; // this compiles
}
void OnCreate(HWND hWnd, const CREATESTRUCT * lpCreateStruct)
{
lpCreateStruct->x = 2; // this does not compile
}
Run Code Online (Sandbox Code Playgroud)
2)通过指针或引用传递更快?或者相同?
const LPCREATESTRUCT扩展为CREATESTRUCT* const,即一个指向非const结构的常量指针,
const CREATESTRUCT*而是一个指向常量结构的非常量指针,因此编译器是正确的.