ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Добавить SQR функция , возведение на квадрата.

Open raidenluikang opened this issue 6 months ago • 13 comments

Старый добрый язык Паскале был стандартный функция sqr возведение в квадрат, почему в языке C++ до сих пор это нет?

Написать постоянно вот так не удобно :

struct point { double x, y ;}

point a, b ; 

/// ...

double dist = sqrt (   (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) );

если был бы sqr то этот код будет меньше и читабельнее:

double dist = sqrt (   sqr(a.x - b.x)   + sqr(a.y - b.y)  );

Хотя , может возникнет проблема со схожести название уже существующий sqrt , и здесь легко можно запутаться.

Полезные ссылки:

  • https://quick-bench.com/ - онлайн бенчмарк, поможет вам продемонстрировать эффективность вашего подхода
  • https://godbolt.org/ - онлайн дизассемблер
  • https://eel.is/c++draft/ - черновик стандарта C++ с возможностью ссылаться на конкретные параграфы
  • https://wg21.link/ - универсальная ссылка на международные proposal или баги в С++, например https://wg21.link/P1000 ссылается на документ P1000, а https://wg21.link/cwg100 на 100 баг в ядре языка

raidenluikang avatar Jun 26 '25 12:06 raidenluikang