說我有像複製在C++風格一個結構的緩衝
typedef struct {
unsigned char flag, type;
unsigned short id;
uint32 size;
} THdr;
一個結構和數據從一個UDP交際未來的緩衝器,我有個字節的緩衝器,其大小(data
和data_size
) 。數據大小大於sizeof(THdr)
。
該結構位於緩衝區的開頭,我想將其複製到代碼THdr Struct_copy
中定義的結構中。
我知道我可以使用memcpy(&Struct_copy,data[0],sizeof(Struct_copy));
但我想使用「C++風格」的方式,就像使用std::copy
一樣。
任何線索?
如果你有一個單線實現的實現,爲什麼它會變得複雜(而且很可能會放慢速度),因爲你想要更「時髦」的東西? 'memcpy'對此是一個很好的解決方案,就是這樣。 – 2013-05-10 13:44:44
使用'std :: memcpy'來代替:-)'std ::'使它更加C++ ish! – deepmax 2013-05-10 13:47:50
,因爲根據編譯器的memcpy可以比std :: copy慢,至少是他們在http://stackoverflow.com/questions/4707012/c-memcpy-vs-stdcopy – BiA 2013-05-10 13:49:59