[問題] Serialize與沒有Serialize的差別

看板C_and_CPP (C/C++)作者 (我的歌聲裡)時間11年前 (2015/05/19 15:06), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串1/1
以一個簡單例子來說 class A { int num; std::string str; char ch; }; A a = new A(); a.num = 10; a.str = "Hello"; a.ch = 'c'; 我有一筆資料長這樣,送出去之後,合理的預期是對方收到解析回來一樣得到: a.num = 10; a.str = "Hello"; a.ch = 'c'; 請問Serialize與沒有Serialize的差別在於? (我只約略記得資料的排序不正確?) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.8.225 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432019214.A.2F5.html

05/19 15:09, , 1F
不serialize你怎麼送?
05/19 15:09, 1F

05/19 15:35, , 2F
不 serialize 就: memcpy(buf, &a, sizeof(A))
05/19 15:35, 2F

05/19 15:46, , 3F
string 可能不能這樣玩.
05/19 15:46, 3F

05/19 15:47, , 4F
還有很多其他問題. 例如 alignment
05/19 15:47, 4F

05/19 15:48, , 5F
基本上對於記憶體位址、空間大小等有相關的要素都有可能出事
05/19 15:48, 5F

05/19 16:11, , 6F
一些快取用的非必要資訊也會浪費你的傳輸頻寬
05/19 16:11, 6F

05/19 16:43, , 7F
一開始就用protobuf吧....
05/19 16:43, 7F
文章代碼(AID): #1LMk4EBr (C_and_CPP)
文章代碼(AID): #1LMk4EBr (C_and_CPP)