読者です 読者をやめる 読者になる 読者になる

PerlとC++にしかできないような気がするアノ機能(挑戦者募集中)

Programming Perl C++

PerlC++は世界一。

#!/usr/bin/perl

srand(time);

my $a = 0;
my $b = 0;
for(my $i = 0; $i < 1000; $i++) {
    (rand(2)<1 ? $a : $b) += 1;
}
print "$a, $b\n"
#include <cstdio>
#include <cstdlib>
#include <time.h>

int main(int argc, char **argv) {
    srand((unsigned)time(NULL));
    int a=0, b=0;
    for(int i = 0; i < 1000; i++) {
        (rand()&16 ? a : b)++;
    }
    printf("%d, %d\n", a, b);
    return 0;
}

可読性低下するだけで他の書き方をしたほうがいいし、二分探索とこれくらいしか役に立たない気はする。

補足

わかると思うけど補足すると、三項演算子を左辺値として扱う機能。