当前位置: 首页 > 知识库问答 >
问题:

可复制的值表示与可能不复制的值表示之间是否存在显著差异

荀靖
2023-03-14

我遇到了T.3.8/4类型的值/对象表示的定义:

类型T的对象的对象表示形式是类型T的对象所占用的N个无符号char对象的序列,其中N等于sizeof(T)。对象的值表示形式是保存类型T的值的一组位。对于通常可复制的类型,值表示形式是对象表示形式中确定值的一组位,该值是实现定义的值集的一个离散元素。

我无法想象这些定义对于一个微不足道的可编译类型与对于任何其他类型有什么不同。什么严格的限制适用于一个简单的可复制类型?如果有这种区别的话,我想看一个例子。

共有1个答案

孙德宇
2023-03-14

如果一个对象不是一个简单的可复制的对象,它可能必须进行一些资源初始化/清理(在非常低级别的上下文中,这不仅仅是简单的,而且可能依赖于固定的地址)。

有两个不同的对象认为它们都获得了硬件资源,这是一个灾难的处方。

 类似资料:
  • 类型T的对象的对象表示形式是类型T的对象所占用的N个无符号char对象的序列,其中N等于sizeof(T)。类型T的对象的值表示是参与表示类型T的值的一组位。对象表示中不属于值表示的位是填充位。对于基本可复制的类型,值表示形式是对象表示形式中确定值的一组位,该值是实现定义的值集的一个离散元素。 为什么突出显示的句子仅限于可复制的类型?是否因为一个非日常可复制对象的值表示中的一些位可能在其对象表示之

  • 问题内容: 我想简化我的jQuery Backbone.js Web应用程序中的内容。一种简化就是我的菜单和对话框小部件的行为。 以前,我是在开始时创建菜单的div框并使用来隐藏它们的。当我需要菜单时,我更改了样式,然后使用jQuery ui位置工具定位div框(由于无法定位具有的元素),完成后,最终将其样式更改为。 现在,我想用隐藏它们,然后在需要时使用position实用工具,然后将样式更改为

  • 我编写了这样一个代码来寻找网格步长(两个相邻的机器可表示数之间的差,机器ε,最小机器可表示数大于1和1之间的差)。为什么这个程序显示1代表巨大的价值​​关于x,以及如何修正它以显示正确答案?

  • 我有三个java8 Optionals,并希望以首选顺序返回实际存在的任何一个。似乎应该有一种简单的方法可以像这样链接它们: 如果这三个都为空,那么应该返回一个。 现有的orElse和orElseGet不能真正胜任这项任务-它们必须返回一个实际值,因此剩余的回退不可能是Optionals本身。 在最坏的情况下,我可能会有一长串ifPresent()检查,但似乎有更好的方法来处理它?

  • 我将startdate和endDate作为用户的输入,将DateTime作为Flutter(Dart)中的datatype。这些字段将以时间戳格式存储在Firestore中。现在我们需要在客户端显示endDate和startDate的差异,这可以是一个实时计时器,格式为“13小时45分钟”,然后在一些分钟后,它应该是“13小时42分钟”。

  • 我的困难是 如何修复函数SortByTotal中的任何错误? 1.1错误:(32,51)Kotlin:无法智能强制转换为“OrderProcessing.OrderNode”,因为“Run.Next”是一个复杂的表达式 我明白有很多错误,回答其中的任何一个部分或者给我一些暗示已经很感激了。谢谢你的好意。 我的代码如下: 涉及的类: