āĻĄāĻŋ āĻ˛ā§āĻ¯āĻžāĻ™ā§āĻ—ā§āĻ¯āĻŧā§‡āĻœ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ 2.100

āĻĄāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ° āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° 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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨