Size: a a a

2020 April 24

v

vehlwn in pro.cxx
Alex
обычно пишется оператор сравнения - член класса, и обратная версия-обёртка в виде свободной функции
Очевидно чтоб лишние конструктора std::complex не вызывать, а вызвать быструю вещественную версию.
источник

A

Alex in pro.cxx
для операторов особые правила подстановки аргументов, что ли?
источник

m

magras in pro.cxx
Alex
обычно пишется оператор сравнения - член класса, и обратная версия-обёртка в виде свободной функции
У свободной функции преимущество в том, что первый аргумент может быть неявно приведен. А ищется он (оператор) через adl.
источник

A

Alex in pro.cxx
(начинаю понимать, почему <complex> - самый тяжелый хедер в std)
источник

A

Alex in pro.cxx
то есть компилятор-таки не может их переставлять? Мои сведения верны?
источник

CD

Constantine Drozdov in pro.cxx
переставлять что, аргументы в вызове функции? не может
источник

A

Alex in pro.cxx
ну да
источник

A

Alex in pro.cxx
а то мне выше пытались внушить, будто может
источник

CD

Constantine Drozdov in pro.cxx
я бы просто в D ушел, если бы C++ считало сложение коммутативным
источник

v

vehlwn in pro.cxx
Alex
то есть компилятор-таки не может их переставлять? Мои сведения верны?
Только в петоне можно вернуть NotImplemented и он вызовет версию с переставленными параметрами.
источник

v

vehlwn in pro.cxx
7.3.11 Pointer conversions [conv.ptr]
A null pointer constant is an integer literal (5.13.2) with value zero or a prvalue of type std::nullptr_t.

Так нуллптр должен быть (после конвертации в указатель) численно равен интегральному нулю или не должен?
Если (void*)nullptr не 0, то это определение нулл поинтер констант неверно.
источник

v

vehlwn in pro.cxx
Почему мне кто-то говорил, что нуллптр на некоторых платформах может не иметь битовое представление из одних нулей?
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
Да но численно с нулем будет совпадать е нип
источник

DF

Dollar Føølish in pro.cxx
Если я правильно помню , то в книжке девхёрста был пример какого то оператора который вызывался с переставленными параметрами. C++ gotchas книжка. Однако я сомневаюсь что именно хорошо помню, тем более тут эксперты говорят что нет такого. Кто нибудь мог бы предоставить ссылку на пруф?
источник

NP

Nikita Provotorov in pro.cxx
Alex
Как правильно принимать std::string_view? По значению или по const ссылке?
TL;DR по значению
Подробно тут https://youtu.be/4M1MlW0sP0Q
источник

DF

Dollar Føølish in pro.cxx
Нашел таки , что с с++20 для некоторых операторов есть rewritten candidates с переставленными параметрами. Но не знаю то это или не то
источник

ЮП

Юрий Першин in pro.cxx
Здравствуйте! Вопросы по Си тут допустимы, или есть отдельный канал для этого? Я хочу насчет некоторых особенностей sscsanf_s посоветоваться: как дешевле всего подружить sprintf_s и AppVerifier.Basic.Heaps.
источник

IA

Ivan Azoyan in pro.cxx
Юрий Першин
Здравствуйте! Вопросы по Си тут допустимы, или есть отдельный канал для этого? Я хочу насчет некоторых особенностей sscsanf_s посоветоваться: как дешевле всего подружить sprintf_s и AppVerifier.Basic.Heaps.
спрашивай
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
vehlwn
7.3.11 Pointer conversions [conv.ptr]
A null pointer constant is an integer literal (5.13.2) with value zero or a prvalue of type std::nullptr_t.

Так нуллптр должен быть (после конвертации в указатель) численно равен интегральному нулю или не должен?
Если (void*)nullptr не 0, то это определение нулл поинтер констант неверно.
> or
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
0 это null pointer и nullptr_t{} это null pointer. Их битовое представление не обязано быть равно или равно 0
источник