All pages in the specified region must be within the same reserved region allocated when calling the VirtualAlloc or VirtualAllocEx function using MEM_RESERVE. The pages cannot span adjacent reserved regions that were allocated by separate calls to VirtualAlloc or VirtualAllocEx using MEM_RESERVE.
double arr[] = {1,4,5,75,34,232,12,1,23,2323};
sort(begin(arr), end(arr),[](auto& x, auto& y){return x > y;});
// Притом тут я использую C++ функцию вычисления размера массива
qsort(arr, size(arr), sizeof(arr[0]), arr_compare);
int arr_compare(const void* x, const void *y)
{
// return (int)(*(double*)y - *(double*)x);
if (*(double*)x > *(double*)y) {
return 1;
}
else if ((*(double*)x < *(double*)y)) {
return -1;
}
else {
return 0;
}
}
А насчёт первого пункта с переиспользованием имён. Если код нормальный функции короткие и однослойные, то и потребности такой не будет.
Зато для кода где имена переменных короткие толком ничего не говорящие...
Берем кусок кода из одного места и вставляем его в середину блока, и если имя. И хорошо если не скомпилируется. Просто я не понимаю в чём удобство для промышленной разработки, и наоборот куча потенциальных багов в говнокоде.