标签: increment

Scala中的递增(++)运算符

Scala是否有任何理由不支持++运算符默认增加基本类型?例如,你不能写:

var i=0
i++
Run Code Online (Sandbox Code Playgroud)

谢谢

scala increment

56
推荐指数
4
解决办法
4万
查看次数

C++中i ++和(i)++之间的区别

int i = 3;
int j = (i)++;
Run Code Online (Sandbox Code Playgroud)

VS

int i = 3;
int j = i ++;
Run Code Online (Sandbox Code Playgroud)

虽然上面两个例子都存储了3个__CODE__,但上述两个案例的评估方式是否存在差异?

既然__CODE__是a __CODE__,那么__CODE__第一种情况是否会被评估为表达式,这相当于递增rvalue?或者它是未定义的行为,只是恰好存储3 __CODE__

或者我是否过度思考它只是一个简单的后缀?

c evaluation increment language-lawyer

49
推荐指数
2
解决办法
6222
查看次数

具有递增的非直观表达式评估

对于以下代码

<?php

$a=1;   $b=$a++;              var_dump($b);
$a=1;   $b=$a+$a++;           var_dump($b);
$a=1;   $b=$a+$a+$a++;        var_dump($b);
$a=1;   $b=$a+$a+$a+$a++;     var_dump($b);
$a=1;   $b=$a+$a+$a+$a+$a++;  var_dump($b);
Run Code Online (Sandbox Code Playgroud)

我得到了这个结果:

int(1)
int(3)
int(3)
int(4)
int(5)
Run Code Online (Sandbox Code Playgroud)

我预计1,2,3,4,5而不是1,3,3,4,5.$a=1; $b=$a+$a++;我们获得后为什么$b=3

PHP 7.1.5-1 + deb.sury.org~xenial + 1(cli)(建于2017年5月11日14:07:52)(NTS)

php increment opcode

46
推荐指数
3
解决办法
2007
查看次数

"++"和"+ = 1"运算符之间有什么区别?

在C++的循环中,我经常遇到要使用的情况,++或者+=1我无法区分它们.例如,如果我有一个整数

int num = 0;
Run Code Online (Sandbox Code Playgroud)

然后在循环中我做:

num ++;
Run Code Online (Sandbox Code Playgroud)

要么

num += 1;
Run Code Online (Sandbox Code Playgroud)

他们都增加了价值num,但他们的区别是什么?我怀疑num++可以比工作更快num+=1,但如何?这种差异是否足以被忽视?

c++ integer loops increment auto-increment

45
推荐指数
4
解决办法
4万
查看次数

Python中的+ =运算符是否是线程安全的?

我想为实验创建一个非线程安全的代码块,这些是2个线程要调用的函数.

c = 0

def increment():
  c += 1

def decrement():
  c -= 1
Run Code Online (Sandbox Code Playgroud)

这段代码线程安全吗?

如果没有,我可以理解为什么它不是线程安全的,以及什么样的语句通常会导致非线程安全的操作.

如果它是线程安全的,我怎样才能使它明确地是非线程安全的?

python increment thread-safety

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

SQL原子增量和锁定策略 - 这样安全吗?

我有一个关于SQL和锁定策略的问题.例如,假设我的网站上有图像的视图计数器.如果我有一个或类似的,请执行以下语句:

START TRANSACTION;
UPDATE images SET counter=counter+1 WHERE image_id=some_parameter;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

假设特定image_id的计数器在时间t0具有值"0".如果两个会话更新相同的图像计数器,s1和s2,在t0同时启动,那么这两个会话是否都有可能读取值'0',将其增加为'1'并且都尝试将计数器更新为'1 ',那么计数器会得到值'1'而不是'2'?

s1: begin
s1: begin
s1: read counter for image_id=15, get 0, store in temp1
s2: read counter for image_id=15, get 0, store in temp2
s1: write counter for image_id=15 to (temp1+1), which is 1 
s2: write counter for image_id=15 to (temp2+1), which is also 1
s1: commit, ok
s2: commit, ok
Run Code Online (Sandbox Code Playgroud)

结果:image_id = 15的值'1'不正确,应为2.

我的问题是:

  1. 这种情况可能吗?
  2. 如果是这样,事务隔离级别是否重要?
  3. 是否有冲突解决方案将这种冲突视为错误?
  4. 可以使用任何特殊语法以避免出现问题(例如比较和交换(CAS)或显式锁定技术)吗?

我对一般答案很感兴趣,但如果没有,我对MySql和InnoDB特定的答案感兴趣,因为我正在尝试使用这种技术在InnoDB上实现序列.

编辑:以下方案也可能,导致相同的行为.我假设我们处于隔离级别READ_COMMITED或更高级别,因此s2从事务开始获取值,尽管s1已经向计数器写入"1".

s1: begin
s1: begin
s1: read counter …
Run Code Online (Sandbox Code Playgroud)

sql locking atomic increment

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

41
推荐指数
4
解决办法
9938
查看次数

JavaScript计算更明亮的颜色

我在JS中有一个颜色值作为字符串

#ff0000
Run Code Online (Sandbox Code Playgroud)

例如,我将如何以编程方式计算此颜色的更亮/更亮的版本#ff4848,并能够通过百分比计算亮度,例如

increase_brightness('#ff0000', 50); // would make it 50% brighter
Run Code Online (Sandbox Code Playgroud)

javascript colors increment brightness

40
推荐指数
3
解决办法
2万
查看次数

后增量与预增量 - Javascript优化

当我偶然发现这个名为JSpeed的项目 - Javascript优化时,我正在浏览Google Code.

我注意到优化的一个是改变i++++i在for循环语句.

优化之前

for (i=0;i<1;i++) {}

for (var i = 0, j = 0; i < 1000000; i++, j++) {
    if (i == 4) {
        var tmp = i / 2;
    }

    if ((i % 2) == 0) {
        var tmp = i / 2;
        i++;
    }
}
var arr = new Array(1000000);
for (i = 0; i < arr.length; i++) {}
Run Code Online (Sandbox Code Playgroud)

优化后

for(var i=0;i<1;++i){}
for(var i=0,j=0;i<1000000;++i,++j){if(i==4){var tmp=i>>1;}
if((i&1)==0){var tmp=i>>1;i++;}}
var arr=new Array(1000000);for(var …
Run Code Online (Sandbox Code Playgroud)

javascript optimization increment

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

在MySQL中递增一个字段是原子的吗?

我正在建立一个网站,我想在标准的MyISAM表中增加一个计数器.

简化示例:

UPDATE votes SET num = num + 1;
Run Code Online (Sandbox Code Playgroud)

如果多个连接正在执行相同的查询,这会导致问题,还是MySQL会处理它并锁定表或某些东西以确保没有冲突?

mysql atomic increment thread-safety

33
推荐指数
4
解决办法
2万
查看次数