在matlab中定义一个静态变量,其含义类似于C++;

在matlab中定义一个静态变量,其含义类似于C++;,matlab,Matlab,我希望通过举个例子,我能更好地理解。 假设二进制有效负载为20字节,其中包含5个字段 第1个字段4字节 第二个字段2字节 第三个字段8字节 第四字段1字节 第5个字段5字节 我想在我的类中定义每个字段开头的偏移量变量及其大小,这样我就可以用它来解码每个变量的值 我想避免每次创建一个类,这些变量需要创建和分配空间,而不是像C++一样,然后定义为“代码>静态const …这意味着它是一次定义的,所有其他实例将在内存中使用相同的定义 这在Matlab中是否可行?您可以通过声明属性的常量属性在Mat

我希望通过举个例子,我能更好地理解。 假设二进制有效负载为20字节,其中包含5个字段

  • 第1个字段4字节
  • 第二个字段2字节
  • 第三个字段8字节
  • 第四字段1字节
  • 第5个字段5字节
我想在我的类中定义每个字段开头的偏移量变量及其大小,这样我就可以用它来解码每个变量的值

我想避免每次创建一个类,这些变量需要创建和分配空间,而不是像C++一样,然后定义为“代码>静态const <代码>…这意味着它是一次定义的,所有其他实例将在内存中使用相同的定义


这在Matlab中是否可行?

您可以通过声明属性的
常量属性在Matlab中创建常量属性:

classdef myClass
    properties (Constant = true)
        myProperty
    end
end

您需要引用使用类名限定的属性,例如
myClass.myProperty

谢谢您的回答。目前,它们被定义为
常量
。我不确定的是,为了改善偏好,是否有一种方法可以告诉Matlab它们是静态变量(一种全局变量,但限于给定的类)
常量
属性仅在类第一次实例化时实例化一次。该类的所有实例都引用相同的值-这就是为什么引用它们时使用类名限定。如果希望对
常量
属性的访问仅限于类本身,还可以将其声明为
GetAccess=private