标签: static-variables

PHP OOP - 常量与静态变量?

在PHP中,有什么区别:

  1. 常量和静态变量?
  2. 扩展一个类并创建它的对象?

我知道如何使用它们,但我无法清楚地区分它们.

php inheritance constants static-variables

6
推荐指数
3
解决办法
1万
查看次数

在C之前调用main之前的一些函数

我想在main功能之前做一些事情.我有多个源文件.在每个文件中,有一些工作需要在之前完成main.这在C++中没有问题,但在C语言中存在问题.

在C++中,这可以通过两种方式完成:

  1. 利用全局类/结构的构造函数.
  2. 将函数调用到全局变量

例如, static const int __register_dummy_ = __AddRegisterMetaInfo(...);

但是,在C中,无论哪种方式都是不可能的.显然,没有构造函数.所以,第一种选择本质上是不可能的.

我认为第二个选项是可能的,但不是用C编译的(我只用Visual C++测试过.它给出了C2099.).C只允许常量为非自动变量.

有没有办法在main之前调用一些函数?


编辑:似乎很多人误解了我真正想做的事情.很抱歉以简单的方式撰写此问题.

我需要做的是实现一种C++运行时类信息功能,就像MFC的方法一样.在这种方法中,我需要从所有源代码中获取一些信息.例如,假设每个源文件都有一个类的定义,我想查看所有信息(例如,类名和父类).最简单的方法是在每个文件中放置一个静态构造函数,每个构造函数访问一个全局数据结构并注册其信息.但是,我也想找到一种方法在C中实现类似的东西.所以,简单地调用pre_main_jobin main不能成为我的答案.

请注意,这种滥用静态构造函数的方法也可以在LLVM编译器套件中找到.每个优化/分析功能都作为通过实现.所有这些传递都是通过静态构造函数注册的.

c static-variables

6
推荐指数
2
解决办法
4036
查看次数

变量定义中关键字的顺序是否重要?

订单之间有什么区别:

public static final String = "something";
Run Code Online (Sandbox Code Playgroud)

要么

public final static String = "something";
Run Code Online (Sandbox Code Playgroud)

java final static-variables class-variables

6
推荐指数
2
解决办法
792
查看次数

可以测试PHP中的变量是否是静态的吗?

是否可以测试PHP中的变量是否是静态的?我正在尝试创建一个__get也看静态变量的魔术方法.我发现property_exists()当变量也是静态时返回true.但我需要使用::而不是->我期望的?

php static-variables magic-methods

6
推荐指数
1
解决办法
2247
查看次数

我应该将模式对象声明为静态

我在课堂上有以下方法:

public boolean validTransAmt()
{
    FacesContext facesContext = FacesContext.getCurrentInstance();
    Pattern p = Pattern.compile("^([0-9]{0,})(([\\.]?)([0-9]{1,2})([\\.]?))$");
    String transAmt = getDetails().getAmount();
    Matcher matcher = p.matcher(transAmt);

    if (!matcher.matches())
    {
        ...
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

每次调用该方法时,是否会重新编译此模式?或者它是否被缓存?

我应该在班上将它声明为静态变量吗?

谢谢

java regex static-variables

6
推荐指数
1
解决办法
224
查看次数

在java中更新静态变量

我有一个静态变量的类如下:

 class Commons { 
public static String DOMAIN ="www.mydomain.com"; 
public static String PRIVATE_AREA = DOMAIN + "/area.php";
} 
Run Code Online (Sandbox Code Playgroud)

如果我在运行时尝试从Android Activity(或其他java类)更改DOMAIN,DOMAIN变量会更改,但PRIVATE_AREA不会更改.为什么?

java android static-variables

6
推荐指数
1
解决办法
4837
查看次数

如何从C中的另一个文件访问静态变量?

可能重复:
静态变量

如何从C中的另一个文件访问静态变量?由于静态变量具有文件范围,我认为我们无法在文件外访问它.但我仍然觉得可能有一些技巧或方法来做同样的事情.

c static-variables

5
推荐指数
2
解决办法
1万
查看次数

我是否以正确的方式使用静电?

我正在编写一个XNA引擎,我将所有模型存储在一个List.为了能够在整个引擎中使用它,我已经做了这个,public static List<Model>所以我可以从我开发的任何新类访问它.它当然使获得模型列表真的很容易获得,但这是正确的用法吗?或者我会更好地在方法声明中传递变量?

c# xna static-variables

5
推荐指数
2
解决办法
1301
查看次数

在覆盖派生类中的静态字段时,"...错误地扩展了基类静态端"错误

覆盖派生类中的静态字段会导致

错误TS2417:构建:类静态端'typeof TDerived'错误地扩展了基类静态端'typeof TBase'.

这是一个合法的错误案例吗?

class TBase
{
  private static s_field = 'something';

  public constructor() {}
}

class TDerived extends TBase
{
  private static s_field = 'something else'; // commenting this line fixes error

  public constructor()
  {
    super();
  }
}
Run Code Online (Sandbox Code Playgroud)

那我该怎么处理静态字段呢?现在唯一的解决方法是将类名添加到每个静态字段名称,这是一个非常难看的解决方案.

private static TBase_s_field = 'something';
...
private static TDerived_s_field = 'something else';
Run Code Online (Sandbox Code Playgroud)

ps使用typescript 2.0.3

inheritance static-variables typescript

5
推荐指数
1
解决办法
2237
查看次数

带有调试器的 kotlin 伴随对象字段

我在伴生对象中声明了一个字段,因此它将在伴生对象中的函数中知道。

像这样:

class ProgramStructure {
  companion object {
      var index = 0
      fun inc(){
          index++
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我调试它时,我看不到“索引”的值。我怎样才能看到价值?

谢谢

debugging intellij-idea static-variables kotlin

5
推荐指数
1
解决办法
733
查看次数