我对C++如何管理向量中的对象感到困惑.说我做以下事情:
vector<MyClass> myVector;
myVector.push_back(a);
myVector.push_back(b);
MyClass & c = myVector[1];
myVector.erase(myVector.begin());
Run Code Online (Sandbox Code Playgroud)
参考c是否仍然有效(或者更好,是否保证有效)?如果没有,我是否必须始终从参考文件中复制以确保安全?
MSDN Library将AdjustWindowRect的dwStyle参数记录为:
要计算所需大小的窗口的窗口样式.请注意,您无法指定WS_OVERLAPPED样式.
我没有找到任何解释.他们是什么意思"不能",为什么我不能这样做?
我的程序中有这个消息循环:
while (true) {
if (PeekMessage(&msg, window, 0, 0, PM_REMOVE)) {
if (msg.message == WM_QUIT) {
MessageBox(NULL, L"Quit", L"", 0);
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
} else {
Render();
}
}
Run Code Online (Sandbox Code Playgroud)
这个循环永远不会结束 即使主窗口消失,它也不会显示消息框.这是WndProc代码:
switch (msg) {
case WM_CLOSE :
DestroyWindow(hwnd);
break;
case WM_DESTROY :
PostQuitMessage(0);
break;
default :
return DefWindowProc(hwnd, msg, wParam, lParam);
break;
}
return 0;
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?我真的把我的头发拉了出来.