一流的价值可以
第二类值可以作为参数传递.
三等价值甚至不能作为论据传递.
为什么这些东西应该这样定义?据我所知,"可以作为参数传递"意味着它可以被推入运行时堆栈;"可以被分配到变量"意味着它可以被移动到内存的不同位置; "可以从子程序返回"几乎具有"可以分配给变量"的相同含义,因为返回的值总是被放入已知地址,因此第一类值完全是"可移动"或"动态",第二类value是一半"可移动",第三类值只是"静态",例如C/C++中的标签,只能通过goto语句来解决,除了"goto"之外你不能对该地址做任何事情..我的理解有意义吗?或者这三种价值究竟意味着什么?
这本书开始的Linux程序设计(第三版)说:
"请注意,建议不要将fread和fwrite用于结构化数据.部分问题是用fwrite编写的文件可能在不同的机器之间不可移植."
这究竟是什么意思?如果我想编写便携式结构化数据读取器或写入器,我应该使用哪些调用?直接系统调用?