C++ 将向量引用传递给窗口进程
我正在使用以下方法将包含向量引用的结构传递给窗口进程:C++ 将向量引用传递给窗口进程,c++,winapi,C++,Winapi,我正在使用以下方法将包含向量引用的结构传递给窗口进程: SetWindowLongPtr(hWnd, 0, (LONG_PTR)&windowExtraData); 在创建窗口的函数中windowExtraData将包含提到的引用 在window process函数中,我通过以下方式获得传递的数据: auto* windowExtraData = (WindowExtraData*)GetWindowLongPtr(hWnd, 0); 我的意思是,当我增长向量时,我是否应该担心内存
SetWindowLongPtr(hWnd, 0, (LONG_PTR)&windowExtraData);
在创建窗口的函数中windowExtraData
将包含提到的引用
在window process函数中,我通过以下方式获得传递的数据:
auto* windowExtraData = (WindowExtraData*)GetWindowLongPtr(hWnd, 0);
我的意思是,当我增长向量时,我是否应该担心内存问题?向量的增长是内部的,它的地址不会因此而改变。因此,你可以用它做任何你想做的事情。
请注意,如果
windowExtraData
被销毁,指针将不再有效。您传递的只是一个指针,只要它指向的内容在窗口的生命周期内保持有效,那么就没有问题了。@JonathanPotter所以你的意思是,我可以期待与我使用CreateThread
创建线程并将结构传递给该线程相同的行为,对吗?@anastaciu是的。无论你指的是什么,只要指针还在使用,都需要保持生命。@RemyLebeau谢谢你的澄清。