小编Sam*_*ilu的帖子

序列点和运算符优先级之间有什么区别?

考虑经典序列点示例:

i = i++;
Run Code Online (Sandbox Code Playgroud)

C和C++标准声明上述表达式的行为未定义,因为=运算符与序列点无关.

让我感到困惑的是,++优先级高于优先级=,基于优先级的上述表达式必须首先进行评估i++然后进行赋值.因此,如果我们开始i = 0,我们应该总是i = 0(或者i = 1,如果表达式i = ++i)结束而不是未定义的行为.我错过了什么?

c c++ language-lawyer

27
推荐指数
2
解决办法
631
查看次数

如何通过Java中的反射传递枚举参数

我试图通过反射将枚举常量作为参数传递给方法.这是一个简单的例子,演示了我的问题的一个非常简化的版本.(假设我必须使用反射)

enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY
}

public class Main {

    public void print(Day d) {
        System.out.println(d);
    }

    public static void main(String[] args) throws Exception
    {
        Class<?> cl = Class.forName("Day");
        Field field = cl2.getDeclaredField("MONDAY");
        print(_what_to_pass_here?)
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

谢谢,

java reflection

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

标签 统计

c ×1

c++ ×1

java ×1

language-lawyer ×1

reflection ×1