当前位置 : 主页 > 手机开发 > 无线 >

C语言中移动语义的起源是什么?

来源:互联网 收集:自由互联 发布时间:2021-06-10
我想知道C中 move semantics的起源是什么?特别是它是专门为这种语言发明的还是在其他语言中有类似的东西?在后一种情况下,你可以提供一些参考. 这个概念似乎没有任何特定的祖先.如
我想知道C中 move semantics的起源是什么?特别是它是专门为这种语言发明的还是在其他语言中有类似的东西?在后一种情况下,你可以提供一些参考. 这个概念似乎没有任何特定的祖先.如 the original proposal所述,C的移动语义的起源是新闻组中的讨论:

Move semantics in various forms has been discussed in C++ forums (most
notably comp.lang.c++.moderated) for years.

在我看来,它们与C的左值和左值的概念紧密结合,如果我没有弄错的话,它纯粹是一个C概念.没有左值,右值和它们的新C 11朋友的语言不需要以C实现它们的方式移动语义.

但更一般地说,移动东西而不是复制的概念只是一个基本概念.每当你编写一个链表而你通过实际只是交换指针来“交换元素”时,你就是在做“移动”.基本上.

网友评论