void sort(int x[5]);
void sort(int (&x)[5]);
typedef int Arr[SIZE];
int sum(Arr arr, int n)
// warning: 'sizeof' on array function parameter 'arr' will return size of 'int *' [-Wsizeof-array-argument]|
If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState.
if ((GetAsyncKeyState(VK_F1) & 1) != 0)
. Он означает: с предыдущего вызова GetAsyncKeyState клавиша хоть раз нажималась. С одной стороны, этот бит нерекомендуемый (работает, когда нет других программ, вызывающих GetAsyncKeyState). С другой, возможно, младший бит GetAsyncKeyState() в современной реализации Windows работает именно так, как надо (если программа неактивна, GAKS возвращает 0).квоПрох := НОД(shift, size)
для i = [0..квоПрох)
i1 := i
tmp := a[i]
вечный цикл
i2 := (i1 + shift) % size
если i2 = i
прервать вечный цикл
a[i1] := a[i2]
i1 := i2
a[i1] := tmp
#include "stdio.h"
#include "stdlib.h"
double dr(double zb)
{
return zb = (rand() % 100) / (100 * 1.0);
}
printf("%lf", dr(double zb));
if (d == e)
{
printf("Win! your cash:%lf", winWay(a, b));
double a = winWay(a, b);
}
double a
— считаем, что a определилась. = winWay(a, b)
— считаем, что используется ОНА ЖЕ, а не более ранняя a. Естественно, неинициализированная.for (…)
s1[i] = s1[i + s2len]
s1.resize(s1.length() - s2len);
std::unique_ptr<Strategy> strategies[N]
. Если нет — приходится как-то извращаться, и об этом не будем.unsigned char code() const;
std::unique_ptr<Strategy>& thatObject = strategies[i];
switch (getSomeByte) {
case CODE_DUPLICATE:
thatObject = new DuplicateStrategy();
break;
case CODE_MACRO:
thatObject = new MacroStrategy();
break;
default:
// можно ничего не делать. Можно сообщить об ошибке.
}
thatObject->read();
using EvClick = void (*)();
Class Model{
public:
void click() { if (fOnClick) fOnClick(); }
void setOnClick(EvClick x) { fOnClick = x; }
private:
EvClick fOnClick = nullptr;
}
class ClickEvent {
public:
int x, y;
virtual ~ClickEvent();
}
using EvClick = void (*)(ClickEvent&);
#include <iostream>
class A {
public:
int a;
virtual void doA() {}
virtual ~A() = default;
};
// class B, C, D, E аналогично {
class DE : public D, public E { int de; };
class AB : public A, public B { int ab; };
class CDE : public C, public DE { int cde; };
class All : public AB, public CDE {};
struct Vtable {
uint32_t d[1];
};
union PObject {
void* asVoid;
Vtable** asVtable;
char* asRaw;
};
int main()
{
All all;
All* pAll = &all;
E* pThis = &all;
std::cout << pAll << " " << pThis << std::endl;
PObject pX;
pX.asVoid = pThis;
while (true) {
uint32_t offset = -(*pX.asVtable)->d[-2];
std::cout << "Got offset " << offset << std::endl;
if (offset == 0)
break;
pX.asRaw -= offset;
std::cout << "Got pointer " << pX.asVoid << std::endl;
}
return 0;
}
myClass = dynamic_cast<MyClass*>(interface);
int __fastcall SomeObject::ButtonClick(TObject* Sender)
{
TButton* button = dynamic_cast<TButton*>(Sender);
...
}