āĻĄāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ° āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° DMD 2.100.0-āĻāĻ° āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻā§, āĻ¯āĻž GNU/Linux, Windows, macOS āĻāĻŦāĻ FreeBSD āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻā§āĻĄ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻŦāĻŋāĻāĻ¸āĻāĻ˛ (āĻŦā§āĻ¸ā§āĻ āĻ¸āĻĢāĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸) āĻāĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
D āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸āĻŋāĻā§āĻ¯āĻžāĻ˛āĻŋ āĻāĻžāĻāĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, C/C++ āĻāĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻāĻžāĻˇāĻžāĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻ¯āĻāĻ¨ āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻžāĻˇāĻžāĻ° āĻāĻŋāĻā§ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻŦāĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ§āĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻŋ āĻ¸āĻšāĻ¯ā§āĻā§ āĻ ā§āĻ¯āĻžāĻ°ā§, āĻāĻžāĻāĻĒ āĻāĻ¨āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸, āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻŽā§āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž, āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ, āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§, āĻāĻāĻāĻŋ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ, āĻŽā§āĻāĻžāĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨, āĻ¸āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ āĻāĻŋāĻā§ C++ āĻāĻŦāĻ āĻ āĻŦāĻā§āĻā§āĻāĻŋāĻ-āĻ¸āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻļā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§:
- āĻĄāĻŋ 1 āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻāĻāĻžāĻ°āĻ˛ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§ āĻļā§āĻ˛ā§ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ opNeg, opAdd_r, opAddAssign, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻ¸ā§āĻā§ opUnary, opBinary, opBinaryRight āĻāĻŦāĻ opOpAssignāĨ¤ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻāĻāĻžāĻ°āĻ˛ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸ā§āĻāĻžāĻāĻ˛āĻāĻŋ 2019 āĻ¸āĻžāĻ˛ā§ āĻ āĻŦāĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ 2.100 āĻ°āĻŋāĻ˛āĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°āĻŦā§āĨ¤
- 2018 āĻ¸āĻžāĻ˛ āĻĨā§āĻā§ āĻĄāĻŋāĻ˛āĻŋāĻ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻāĻŋ āĻ āĻŦāĻšā§āĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻ§ā§āĻŦāĻāĻ¸ āĻŦāĻž core.memory.__delete āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
- āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ @mustuse āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ¸ā§āĻā§āĻ°āĻžāĻāĻ āĻāĻŦāĻ āĻāĻāĻ¨āĻŋāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻāĻ¨ āĻā§āĻĄ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, @nogc āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§)āĨ¤ āĻ¯āĻĻāĻŋ @mustuse āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻāĻāĻŋ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻā§āĻĄā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĨ¤
- āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻ ā§āĻ¯āĻžāĻ°ā§āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯, āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ¨ā§āĻ° āĻā§āĻ°āĻŽ (lvalue) āĻĒā§āĻ¤ā§ ".tupleof" āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤āĨ¤ void foo(int, int, int) { /* âĻ */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ foo(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨āĻŽā§āĻ¨ā§āĻ fa = ia āĻāĻ° āĻĢāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻžāĻ°āĻŋ āĻšāĻ¯āĻŧ(fa == [1F, 2F, 3F]);
āĻāĻ¤ā§āĻ¸: opennet.ru