如何使數據結構(如樹,圖)持久在c + +?如何使數據結構在C++中持久化?
0
A
回答
3
通常,您需要對結構進行序列化,以便將其寫入文件或數據庫。如果您有自定義結構,那麼您需要編寫該方法以序列化和反序列化(即寫出並讀入結構)。否則,如果您使用了庫中的結構,則可能已經有(de)序列化方法。
例如。鏈接列表可能會串行化爲如下的字符串:[1,2,3,4,5]
4
1
struct S {
/* ... */
};
//...
ofstream out("temp.aux");
S s;
char* c = reinterpret_cast<char*>(&s);
out << sizeof(s);
for(int i = 0; i < sizeof(s); ++i) {
out << c[i];
}
out.close();
// ...
ifstream in("temp.aux");
int size;
in >> size;
char* r = new char[size];
for(int i = 0; i < size; ++i) {
in >> r[i];
}
S* s = reinterpret_cast<S*>(r);
in.close();
快速和骯髒= d
相關問題
- 1. 使數據結構持久
- 2. Erlang持久數據結構
- 3. Java中的持久數據結構
- 4. Scala中的持久數據結構
- 5. 持久與不可變數據結構
- 6. iOS非持久性數據結構
- 7. 持久性隊列數據結構
- 8. 持久化數據在JSP
- 9. 如何將持久數據結構「綁定」到Scala中的GUI?
- 10. 序列化持久性/功能性數據結構
- 11. FluentNHibernate和持久化的樹結構
- 12. 如何持久化數據而不MVC
- 13. 需要在C++中初始化的持久化全局數據
- 14. 在Java中完成類型化的持久數據結構a Clojure?
- 15. 數據持久化與CoreData
- 16. ASP.NET MVC持久化數據
- 17. Magento結帳數據持久
- 18. 如何更新持久化Java對象的結構?
- 19. 使用Hibernate註釋持久化數據
- 20. Python C API和數據持久化在內存中?
- 21. 如何使用JPA使庫對象數據庫持久化?
- 22. winform c的持久數據#
- 23. JHipster持久化數據/ Access數據庫
- 24. C#中的老化數據結構
- 25. 如何使用不可變/持久類型和數據結構進行併發?
- 26. Ruby中的樹數據結構持久性
- 27. 如何在C++中實現強大的數據持久層?
- 28. 如何在另一個模板化結構中使用模板化結構(C++)
- 29. WinRT和持久化結構的字節數組?
- 30. 如何使Android應用程序數據持久化?
'Boost.serialization'? – kennytm 2010-03-03 18:54:43
'持久'是什麼意思?你的意思是寫入磁盤?在創建函數後保持活動狀態?還有別的嗎? – 2010-03-03 19:59:41
我會認爲這意味着一個不可變的持久數據結構,就像函數式語言一樣。 – 2018-02-05 05:29:33