Asked at Headlands Technologies
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.
"xxxxxxxxx xxxxxx_xxx" xx xxx xxxx-xxxxx x++ xxxxxx xxxxxxxx xx
xxxxx-xxx xxxxxxxxxx, xxx xxx x xxxxxx: xx xxxxxx xxxxxxx xx xxxxxxx xxxxxxx
xxx xxxxxxxxxx xxxxxxxxx, xxx xxxx xx xxxx, xxxxxxxx, xxx xxxxx xxx
xxxxxxxxx xxxxx xxxxxxxx xxxxx. xxxxx xx xx xx x xxxxxxxx xxxx xxxx xx.
xxxxxxxxx xxxxxxxxx<x>, x xxxxxxxxx-xxxxxxx xxxxxx xxxxxxx. xxxxx
xxx::xxxxxx_xxx xx xxx::xxxxxx_xxx xxxxxxxx xxxxxx xx xxxxxx; xxx
xxxxxxx xxxxx xx xxx xxxxxxxx.
xxxxxxxxx(): xxxxx; xxx_xxxxx() == x, xxxxxxxx xxxx xxxxx.xxxxxxxx xxxxxxxxx(x* xxx): xxxxx xxxxxxxxx xx xxx xxxx x xxxxx xx x.
x xxxx xxx xxxxxxxx xx xxxxx xxxxxxxxx (xx xxxxxxx xxxxx).x = x) xxxxxxx
xxxxxxxx xxx xxxxx xx xxxxxxxxxx xxxxxxxx.~xxxxxxxxx(): xxxxxxxx xxx xxxxxxxxx; xxxxxxx xxxxx xxx xxxxx xx xxxx
xxxxxxx xxx xxxxxx xxx xxx xxxxxxx xxxxx, xxxxxxx xxxx.xxxx xxxxx(x* xxx = xxxxxxx): xxxxxxxx xxx xxxxxxx xxxxxxxxx, xxxx xxxx
xxx xxxxx (xxxxx x) xx xxxxxxx xxxxx.xxxx xxxx xxx_xxxxx() xxxxx: xxxxxxx xxxxx xxxxx; x xxxx xxxxx.x& xxxxxxxx*() xxxxx, x* xxxxxxxx->() xxxxx,
xxxxxxxx xxxxxxxx xxxx() xxxxx (xxxxxxxx xx xxx xxxxxxxx).xxx xxxxxxxx xxxx xxxxxxxx xxxxxxxxxxxx, xx xxxxxxxxxxxx xxxxxxx xxxx
xxxxxx xxxxxxxxxxx / xxxxxxxxx xxxxxxxx (xx xxx xxxxxx xx). xxx xxxxx
xxxxx xxxxxxx xxxxxx, xxxx xxxx xxxx xx xxxxxxxxx xxxxxx, xxx xxxxx xxx
xxxxxxxx: xxx xxxxxx xxxx xx xxxxxxxxx xxxxxxx xxxx, xxxxxxxxx xxxx xxx
xxxx xxxxx xxxx xx, xxxxx xxxxxxx.
[]{ xxxxxxxxxxxx::xxxxx(); xxx::xxxxxx<xxxx xxxx> xxx; { xxxxxxxxx<xxxxxxxxxxxx> x(xxx xxxxxxxxxxxx(x)); xxx.xxxx_xxxx(x->xxxxx); xxx.xxxx_xxxx(x.xxx_xxxxx()); xxx.xxxx_xxxx(xxxxxxxxxxxx::xxxxxxxxx); } xxx.xxxx_xxxx(xxxxxxxxxxxx::xxxxxxxxxxx); xxx.xxxx_xxxx(xxxxxxxxxxxx::xxxxxxxxx); xxxxxx xxx; }()
// [x, x, x, x, x] (xxxxx xxxxxx xxx xxxxx, xxxxxxxxx xxxx xx xxxx)
[]{ xxxxxxxxxxxx::xxxxx(); xxx::xxxxxx<xxxx xxxx> xxx; { xxxxxxxxx<xxxxxxxxxxxx> x(xxx xxxxxxxxxxxx(x)); { xxxxxxxxx<xxxxxxxxxxxx> x(x); xxxxxxxxx<xxxxxxxxxxxx> x = x; xxx.xxxx_xxxx(x.xxx_xxxxx()); xxx.xxxx_xxxx(x->xxxxx); } xxx.xxxx_xxxx(x.xxx_xxxxx()); xxx.xxxx_xxxx(xxxxxxxxxxxx::xxxxxxxxx); } xxx.xxxx_xxxx(xxxxxxxxxxxx::xxxxxxxxx); xxxxxx xxx; }()
// [x, x, x, x, x] (xxxxx xxxxxx; xxxxx xxxxxx xxxxxxx xxxx xxx xxxxxxx)
xxx/xxxxxx xxx xxx xxxxxx xxx xxx
xxxxxxx xxxxx xxx xxxx.xxxxx, xxxxx-xxxx xxxxx, xxx xxxxx xxxxxx xxxxxxxx xx xxxxxxxxx
xxxxx. xxxxx xxxx xxxx xxxxx x xxxxxxxxx xxxx xx xxxxxxxx-xxxx: xxxxx
xxxx xxxxx x = x xxxx xxxx xxxxx xxx xxxx xxxxxx.This problem is only available to subscribers.