“测不准原理”在计算机领域的体现

http://topic.youkuaiyun.com/u/20090526/08/7cbebc84-6468-4caa-933c-23f7f2f99d93.html?seed=312377267

 

此贴让我有此感觉:量子物理上讲“测不准原理”,这是普世通理,计算机领域也有此现像。你想要速度么?就无法精确。

 

C++的指针问题,永远也说不完。STL容器与智能指针的不合理搭配,导致的对“值”语义(可安全复制,本体和复本生存期内无构造,无析构)的破坏,容器对像foreach时引发的异常行为。

 

而C#做为一种POOP(Pure OOP),使用“引用”加“堆对像”,使用GC来管理生存期,不再受制于{},消灭了C++的类似问题。但是效率又是一个问题。

 

GC的意义非同一般啊。

 

http://msdn.microsoft.com/zh-cn/library/ms235267.aspx

从 C++ 托管扩展到 Visual C++ 2008,值类型的语义已发生的更改。

 

不再存在值类默认构造函数

托管扩展和新语法之间的值类型的一个差异是移除了对默认构造函数的支持。这是因为在执行过程的某些情况下,CLR 可以在不调用关联的默认构造函数的情况下,创建值类型的实例。也就是说,在托管扩展下尝试支持值类型内的默认构造函数实际上不能得到保证。在不能得到保证的情况下,最好完全删除支持,而不是使其在应用程序中变得不确定。

这至少不会像最初看起来那样糟糕。这是因为值类型的每个对象会自动被赋予零值(即,每个类型都初始化为其默认值)。结果是,永不取消本地实例的成员定义。从这种意义上来说,不能定义常用的默认构造函数根本不是一种损失——事实上,如果由 CLR 执行将更为有效。

问题出现在托管扩展用户定义非常用的默认构造函数时。此时,没有到新语法的映射。构造函数内的代码需要迁移到一个命名初始化方法中,然后需要由用户来显式调用该方法。

否则,新语法内值类型对象的声明不会更改。这样做的缺点是:由于下列原因,值类型对本机类型的包装具有以下缺陷:

  • 不支持值类型内的析构函数。也就是说,无法自动化由对象的生存期结束而触发的一组操作。

  • 本机类只能作为指针包含在托管类型内,然后在本机堆上分配该指针。

我们希望在值类型(而不是引用类型)中包装小的本机类,以避免双堆分配:本机堆保存本机类型,而 CLR 堆保存托管包装。在值类型内包装本机类使您可以避免托管堆,但它无法自动回收本机堆内存。引用类型是可在其中包装非常用本机类的唯一可行的托管类型。

### 回答1: 超流氦的性质应用是由不准原理所制约的。根据不准原理,我们不能同时精确地确定粒子的位置动量。但是,在超流氦中,由于原子被冻结在同一个量子态中,所以我们可以通过观超流的运动来确定它的位置,而不会影响它的动量。这使得超流氦在低温实验精密量中得到广泛应用。 ### 回答2: 超流氦是指氦在低温下达到其临界温度(2.17K)以下时的特殊性质。在这种状态下,氦可以流动得非常快而没有任何粘滞,形成超流流体。超流氦具有很多奇特的特性,使之成为研究低温物理学量子物理学的重要工具。 不准原理是量子力学中的一个基本原理,由维尔纳·海森堡于1927年提出。不准原理指出,在量子系统中,对于两个不可同时确定的物理量(比如位置动量、能量时间等),无论使用何种精确的量方法,都无法同时精确地量到它们的值,存在一种量的不确定性。 不准原理表明,当我们对一个物理量进行量时,会对另一个物理量的量结果产生不可避免的影响。举例来说,当我们试图准确地量一个粒子的位置时,会扰动其动量的量结果,使得对动量的量结果不够精确。同样地,如果我们试图准确地量一个粒子的动量,会扰动其位置的量结果。 不准原理反映了量子世界的本质,揭示了我们对微观世界的认识存在固有的限制。它对于研究微观粒子的性质行为具有重要的启示意义,同时也影响了实验的设计量结果的解释。不准原理的提出为量子力学的发展奠定了基础,并引发了对于量子性质的深入探索。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值