2012-01-04 83 views
0

我想創建一個類的實例並將其放置在共享內存中,以便可以從多個進程調用同一個實例。然而,這個類有虛擬方法,我認爲這可能會導致問題,因爲我已經讀過映射的數據不能包含指針,這在類中的vtable中就是這種情況。它會起作用嗎?CreateFileMapping包含虛擬方法的類

+1

簡答:不需要長答案:不可以。 – 2012-01-04 03:29:12

+0

公平的結果。問題關閉。 – user380689 2012-01-04 04:23:33

回答

0

正如Kerrek SB所評論的那樣,您不能映射包含虛擬方法的類。但是你可以做一個沒有虛擬的簡單結構或類,映射它,然後給它一個指向另一個具有虛擬的類,並使用普通結構作爲它的實現。基本上,Pimpl idiom

如果需要,您甚至可以通過在普通結構中存儲一個「類型」整數,然後檢查它來決定要調用哪些函數來完成類似虛擬調度的操作。