【发布时间】:2015-08-18 18:46:33
【问题描述】:
当被问到诸如“什么是值-结果参数以及为什么在套接字编程中需要它?”之类的问题时,我有点困惑。
尽管在这里阅读了无数页和其他问题,但我仍在努力完全理解价值结果论点的确切含义。
我的理解是,在值结果参数中,内核能够更改传递的参数(因为我们给它一个引用/指针,而不仅仅是它的值)并将其返回给调用的进程/函数它。它既是函数被调用时的“值”(例如告诉内核结构的大小,所以它不会写太多),也是函数返回时的结果(我们在结构中实际写了多少)。
我很难回答,为什么这在套接字编程中如此重要?特别是,当我们处理 sockaddr 结构并传递它们的引用 AND 大小时,即 accept()
我意识到这个问题可能听起来有些愚蠢,但任何对此的澄清都会很好,所以提前致谢。
【问题讨论】:
-
这个问题有点奇怪——我不明白为什么需要这样的论点——而“套接字编程”是一个相当宽泛的术语。你有没有考虑过问那些问你这些问题的人是什么意思?
-
唉,它们目前不可用。例如方法 accept() 是值结果,我应该添加它。
-
我找到了另一个可以回答您问题的线程。有人可以关闭重复:stackoverflow.com/questions/15168095/…
标签: c++ c sockets parameter-passing