If you doubt two versions of the code, similar to those indicated in your example, you should choose one of the more readable ones. The supposed optimization of your view should be done by the compiler.
More readable in your case is more likely a version with links (in fact, perhaps not very readable, but the consensus is to prefer using links, because pointers are more "dangerous").
But back to efficiency: (please, if someone knows assembler, better stop reading or you risk a laugh attack ...) In my opinion, since pData is on the heap, the compiler will have to compile it, using it anyway. I think that your reasoning may be correct if your structure was pushed onto the stack only with "Chunk data [8];". But, in the end, when the compiler optimization on the difference has to be removed anyway.
source share