如果我不包含"实现Serializable会怎么样?"
template <typename Cont>
class ContainerHolder {
using Pointer = decltype(&std::declval<Cont&>()[0]);
...
};
答案 0 :(得分:6)
然后Student
将表现得像普通类,即你无法将Student
对象的状态存储在任何地方
完成此操作:https://docs.oracle.com/javase/tutorial/jndi/objects/serial.html
答案 1 :(得分:3)
Student
不是Serializable,它将像普通类一样运行。
序列化是将对象转换为一系列字节,以便可以将对象轻松保存到持久存储或通过通信链接流式传输。然后可以对字节流进行反序列化 - 将其转换为原始对象的副本。
如果要序列化对象,则相应的类应实现可序列化的标记接口。它只是通知编译器这个java类可以被序列化。
答案 2 :(得分:0)
假设您在内存中以引用(Java)和指针(C ++)的形式存在一些对象,并且您希望通过网络传输这些对象或将它们存储到磁盘中。你会怎么做?
想一想解决方案,并牢记在心。
有两种方式。
首先,创建内存转储并将其保存到磁盘或通过网络传输。但这需要对内存转储进行大量更改,否则内存转储需要内存中完全相同的地址,以免内存引用被违反。
第二个答案是序列化,将数据转换为字符串(格式如JSON),然后传输或保存