In my code I save data in a binary file, when I save I run the function save() in a different thread. The data that I'm saving are stored in a vector&lt;uint_32&gt;, this vector is used also by others function and I did a  copy to avoid conflicts and not desired modification, I think that this isn't the most efficient way to solve this problem so I want ask which is the best way to have this kind of behavior? I was thinking about shared pointers, maybe. 
here is the code:

inline void write( std::vector&lt;uint32_t &gt; pData ) {
    fThread = std::thread( &amp;FileHandler::writeFile, this, pData );
    fThread.join();
}
inline void writeFile( std::vector&lt;uint32_t&gt;  cVectorCopy ) {
    fwrite( ( char* )&amp;cVectorCopy[0]  , cVectorCopy.size()*sizeof( uint32_t ) , 1, fBinaryFile );
    closeFile();
}



Question: i want to enable hyper v in windows feature,but there is no hyper v option?
Answer: You will need the pro version to get the hyper-v feature.
You can read here for more help as well:
 http://technet.microsoft.com/en-us/library/hh857623.aspx