首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“语义”是什么意思?为什么“移动语义”被命名为这样,而不是任何其他术语?

“语义”是什么意思?为什么“移动语义”被命名为这样,而不是任何其他术语?
EN

Stack Overflow用户
提问于 2021-09-14 14:17:17
回答 1查看 292关注 0票数 7

在Cpp中,对象的“移动语义”指的是“移动而不是将对象复制到更新的对象”的概念,但是“语义”一词确实让我感到困惑。

“语义”和“功能”有什么区别?如何正确使用这个词?如果我意识到一种叫做" max (A,B)“的方法,我们能说”我实现了最大语义“吗?如果我编码一个名为"list“的对象,我们能说”我实现了序列存储语义“吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-14 14:42:04

“语义学”是指书面说明的含义或解释。它经常与“语法”相比较,后者描述了指令的形式。例如,赋值foo = bar在许多编程语言中具有相同的形式,但不一定具有相同的含义。在C++中,它意味着复制,在Rust中,它意味着移动,而在Java或Python中,它意味着复制对象引用。

应用于C++语法的“移动语义”(如赋值或将参数传递给函数)意味着语法是或可以解释为对象移动,而不是对象复制。语义不是“函数”的同义词,所以"max语义“没有多大意义。

其他可以应用这个词的例子是参考语义而不是值语义,或者是“短路语义”(指&&||运算符),而不是计算所有子句。基本上,任何你所写的东西都有多种可能的含义,你需要说出正确的名字并找出正确的。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69179467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档