Asked at Hudson River Trading, Jump Trading
Theory: C++ InternalsRead the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.
xxx-xxxxxxx xxxx xx x xxxxxxx xxxxxx xxx x xxxxx: xxxxx x xxxxxx, xxxxx x
xxx xxxxxxx, xxx xx xxxx, xxx xxxxx xxx xxx xxxx xxxxxx xxx xxxx xxxxxx. xxx
xxxxxxx xxxxxxxxx xx xxx xxxxx xxxx xxx xxxx. xxxx xxx xxxxx x xxxx xx
xxxxxxxx x xxxxxx xxxxx, xxx xxxxx x xxxxx, xxx xxx xxx xxxx xxxx xxx xxxxxx
xxx x xxxx, xx xxx xxxx xxxxxxx xx xxx xxxxx xxxx xxx xxxxxx. xxxx xxxx
xxxxxxxxx x xxxxx xxx xxxxx xx xxx xxxxxxxx xxxxx xx xxxxxxxxx xxxx xxxxx xx
xxx xxx x xxxxxxx.
xxxx xx x xxxx xxxxx: xxx xxxxxx, xxx xxxxxx. xxxxxxxxxx xxxxxxxx xxx
xxxxxx. xxxxx xx xx xxxxxxxxxx xxxx. xxxx xxx xxxx xx xxxx xxxx xxx xxxxxx xx
xxxxx xxx xxxxxxx xxx xxx xxxxx xxxxx xx xxxx xx xxxx. xxx xxx xxxxx xxxxxx
xxx xxxxx xxx xxxxxxxxx, xxxxxxx xx xxxxxx xx x xxxx xxxx xxxxxx xx x xxx
xxxxxx xx x xxx xxx xxxxxxxx xxxx xxx xxxxxx, xxx xxxxxxxxxxx, xxxxxxx xx
xxxxxx xxxx x xxx::xxxxxx xxxxxx xx xxxxx xxxxxx xxxxxxx xxxx ~x() xxxxxx
xxx xxxxx xxx xxxxxxxx.
xxxxxxxxx xxxxx.
xxxxxxxx xxxxx(xxx::xxxx_x xxxxxxxx): xxxxx xxx xxxxxx xxxx
xxxxxxxx::xxxxxxx xx xxxxxxx xxx xxxx. xxx xxxxx xxxxxx.xxxx* xxxxxxxx(xxx::xxxx_x xxxxx, xxx::xxxx_x xxxxx): xxxxxxx xxx xxxx
xxxxx-xxxxxxx xxxxxxx xxxx xxxx xxx xxxxx xxx xxxxx xxx xxxxxx xxxx xx.
xxxxx xx x xxxxx xx xxx. xx xxx xxxxxxx xxxx xxx xxx, xxxxx
xxx::xxx_xxxxx xxx xxxxx xxx xxxxx xxxxxxxxx.xxxxxxxx <xxxxxxxx x, xxxxxxxx... xxxx> x* xxxx(xxxx&&... xxxx):
xxxxxxxxx xxxxxx(x) xxxxx xx xxxxxxx(x) xxx xxxxxxxxxx x x xxxxx xxxx
xxxxxxxxx xxx. xx x xx xxx xxxxxxxxx xxxxxxxxxxxx, xxxxxxxx xxxx xxx
xxxxxxxxxx xx xxxx.xxxx xxxx() xxxxx xxx xxxx xxxxxx(xxxx): x xxxx xx x xxxxx xx xxx
xxxxx. xxxxxxxxx xx xx xxxx xxx xxxxxxxxxx xxxx xx xxxxx xxxxxx xxxx xxxxx
xxx xxxx, xxxx xxxx, xxxxx xxxxxxxxx, xxxx xxxxx xxx xxxxxx xxxx.xxxx xxxxx(): xxxxxx xx xxx xxxx xxxxx.~xxxxx(): xxxx xxxxxxxx xx xxxxx xxxx.xxx::xxxx_x xxxx() xxxxx xxx xxx::xxxx_x xxxxxxx_xxxxxxxxxxx() xxxxx.xxx xxxxxxxx xxxxx xxxx xxxxxxx xxx xxx xxxxxxxxxxx, xx xxx xxxxx xxx xxx
xxx xxxx xxxx xxxxxxxxxxx xxx xxx xx xxxxx xxxxx.
xxxxx x(xxxx);
x.xxxxxxxx(x, x); // xxxxxx x, xxxx() == x
x.xxxxxxxx(x, x); // xxxxxx x, xxxx() == xx
x.xxxxxxxx(xx, xx); // xxxxxx xx, xxxx() == xx
x.xxxx<xxxxx>(x);
xxxx x = x.xxxx();
x.xxxx<xxxxx>(x);
x.xxxx<xxxxx>(x);
x.xxxxxx(x); // xxxxx::xxx() xx xxx {x, x}
x.xxxxx(); // {x, x, x}
xxxxxxxx::xxxxxxx xxx xxxxx, xxxx xx xxx xxxxxxxxxxx. xx xxxxx xxxx
xxxxx xx xxxxxxxxx xxxx xxxxx xx x xxxxxxxxx xxxx xxxxxxxxx.xxxxx xx xxxx xxxxx xx xx xxxxxxx
xxxx xx xxx x xxxxxxxx xx xx xxxxx, xxxxxxxx xx xxxxxx.xxxx<xxx> xxxx xxx xxxxxxxx
xxxxxxxx, xx x xxxxxxx xxxxx xxxxxxxxxxx xxxx xxxx x xxxxxxx xxxxxxx.This problem is only available to subscribers.