Tag: 运算符

Java源代码中的string“+”在哪里实现?

String是Java中的特例。 这是一个类,我可以在源代码中查看,但它也有自己的中缀运算符+ ,这似乎是StringBuilder语法糖。 例如, "Hello " + yourName; 可能成为 new StringBuilder().append("Hello ").append(yourName).toString(); 在Java中没有用户定义的运算符,那么在String指定的是哪里? 是否可以使用相同的机制来创build额外的运算符,如向量?

在if语句的bash脚本中使用(&&)运算符

我有三个variables: VAR1="file1" VAR2="file2" VAR3="file3" 如何在if语句中使用和( && )运算符如下所示: if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ] then … fi 当我写这个代码时,它会给出错误。 什么是正确的方式?

为什么=操作符在结构上工作而没有被定义?

我们来看一个简单的例子: struct some_struct { std::string str; int a, b, c; } some_struct abc, abc_copy; abc.str = "some text"; abc.a = 1; abc.b = 2; abc.c = 3; abc_copy = abc; 那么abc_copy是abc的精确副本 ..如何不定义=运算符 ? (这使我感到惊讶,当一些代码工作..)

位运算符简单地翻转一个整数的所有位?

我必须翻转整数的二进制表示中的所有位。 鉴于: 10101 输出应该是 01010 什么是按位运算符来完成此与整数一起使用? 例如,如果我正在写像int flipBits(int n); ,身体会发生什么? 我只需要翻转已经存在的数字,而不是整数中的所有32位。

百分号在PHP中意味着什么?

这到底是什么意思? $number = ( 3 – 2 + 7 ) % 7;

为什么= +不会导致编译错误?

在他们的代码中错误地使用了=+而不是+= ,并且没有显示为编译错误。 这是因为 int a =+ 2; 是相同的 int a = 0 + 2; ?

这是代码行为定义?

以下代码打印到控制台是什么? map<int,int> m; m[0] = m.size(); printf("%d", m[0]); 可能的答案: 代码的行为没有被定义,因为它没有定义编译器首先执行m[0]或m.size()哪个语句。 所以它可以打印1以及0 。 它打印0是因为赋值运算符的右侧首先被执行。 它打印1因为operator[]具有完整语句m[0] = m.size()的最高优先级。 因此,发生以下一系列事件: m[0]在地图中创build一个新的元素 m.size()被调用,现在是1 m[0]被赋予先前返回的(由m.size()) 1 真正的答案? ,这是我不知道的^^

为什么有人在枚举声明中使用<<运算符?

我在看我目前在我的项目中的代码,发现这样的事情: public enum MyEnum { open = 1 << 00, close = 1 << 01, Maybe = 1 << 02, …….. } <<操作数是移位操作数,它将第一个操作数左移第二个操作数中指定的位数。 但是为什么有人在enum声明中使用这个呢?

逗号运算符是做什么的?

以下代码在C / C ++中做了什么? if (blah(), 5) { //do something }

在java中使用两个string进行XOR操作

如何在java中对两个string进行按位异或操作。