(假設這些都不是真正靜態成員,但你的意思是他們沒有動態分配。)
當你交換陣列,這些陣列不動;只有它們的內容被交換。
(數組不是指針)
如果交換指針,它不起作用的原因是指針指向它們「原始」對象的數組成員。
如果您不交換它們,它們會一直指向它們創建的數組。
Ilustrating例如:
起點:
Object A: mArray starts at 0x1000; mStart is 0x1000; mEnd is 0x1014
Object B: mArray starts at 0x2000; mStart is 0x2000; mEnd is 0x2014
swap
而不指針交換後:
Object A: mArray starts at 0x1000; mStart is 0x1000; mEnd is 0x1014
Object B: mArray starts at 0x2000; mStart is 0x2000; mEnd is 0x2014
swap
與指針交換後:
Object A: mArray starts at 0x1000; mStart is 0x2000; mEnd is 0x2014
Object B: mArray starts at 0x2000; mStart is 0x1000; mEnd is 0x1014
交換對象不會(不應該)影響靜態數據成員,因爲**靜態數據成員不與任何對象**關聯。不知道更多關於你的案例的語義,我們不能回答更多的問題。這味道像[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – bolov
請提供一個[MCVE]沒有它你的問題是無法回答的。 – bolov
創建一個編譯並運行的簡單*示例,它可能會回答你的問題。 – WhozCraig