Я пытаюсь изучить Nim, конвертируя различные фрагменты кода, и я наткнулся на то, чего никогда раньше не видел.
#include<bits/stdc++.h>
...
for(int t=q&1?u+x:u+x>>1;t>1;)t/=p[++cnt]=sieve[t];
...
sort(p+1,p+cnt+1);
Я понимаю, что такое тернарный оператор и как он работает, чего я не совсем понимаю, так это того, что происходит с переменными «t» и «cnt» (обе целые числа) и массивом «p» (массив целых чисел). Как работает использование приращения в качестве индекса «p»?
Затем есть функция сортировки, от которой я полностью отказался, потому что не смог найти никакой документации о том, что она делает (тот факт, что она принимает целое число, добавленное к массиву, очевидно, не помогает).