Крылатый
«h» наводит на hex
Ilya
Sergey
да, не хекс. c, например
Крылатый
hex и octo — разноэ
Sergey
o,0,O - это все неудобно
Sergey
пусть c, скажем.
Sergey
0o - ну неудобно же опять
Крылатый
Крылатый
Обычный поиск.
Крылатый
Если функция у тебя чистая выходит. Т.е. больше этого кода там ничо нет.
Sergey
можно std::find заюзать
Sergey
или не писать итераторы, а for ( const auto &val : m_Clients )
Sergey
а в целом, ничего криминального
Ilya
принял
Sergey
грубо говоря, твоя запись подразумевает, что клиентов НАДО перебирать последовательно, а это не так
Stanislav
ну и как вы собрались контролировать флагом компилятора это? если такая запись может встретится в инкладах 3rdparty либ? и константы все сломаются
Sergey
for ( const auto &val : m_Clients ) - порядок обхода неважен
Sergey
хоть одновременно
Ilya
спасибо за объяснение, поправил
Sergey
Stanislav
я все про октеты
Sergey
1. убрать 023123123 как восьмеричное число
2. постфиксы поменять на префиксы
3. сделать 0.2 - float по умолчанию
Крылатый
Пункт 3 спорный, ИМХО.
Крылатый
Можно ж писать 0.2f
Sergey
Sergey
по большей части, константы в программе задаются не слишком длинные
Sergey
0.2, 3,14159 (нечего его переопределять лишний раз, кстати), и.т.п.
Sergey
0.5f - очень часто!
Sergey
вот зачем мне "короткое" число по умолчанию задавать с двойной точностью
Sergey
константы вроде 0.5 - останутся
Sergey
а всякие там длиной с экран - пусть явно пишут, что они заданы уже с двойной точностью
Sergey
или с четверной, или с какой еще понадобится
серёжа
Например
Stanislav
и вообще, раз на то пошло, то это надо не в С++ а в Си пропихивать
Sergey
искуственный пример. long long - это индексы всякие
Sergey
не проще написать предложение на stdcpp.ru?
Sergey
на кой черт умножать их на float
серёжа
Я понимаю, что вы графикой занимаетесь, вам точность не важна, а "коротких" чисел у вас много, но стоит понять, что большинство людей хотят точных вычислений
pinnokio
и к каждому проекту приписку: "нас собирать с double" или "а у нас float"
серёжа
Sergey
стоит понять, что "большинство" не хочет ничего. им похрен на все.
а для вдумчивого кода - такое было бы удобно.
Sergey
в третий раз скопировать чтоли написанное?
ну не задают в реальном коде очень точные числа, почти никогда
Sergey
а всякие там "пополам" и "умножить на два" - часто
серёжа
Да-да, окей, "большинство" ничего не хочет, только вы чего-то хотите и обязательно так и должно быть. Пишите на stdcpp.ru пока вас муза навестила вместо холиваров тут, а то выдохнетесь ещё и пропозала не выйдет.
pinnokio
If the hardware implements double (like the x86 does), then float is emulated by extending it there, and the conversion will cost time. In this case, double will be faster.
Sergey
понятно. сергей, иди похами своей мамке.
Sergey
Sergey
float быстрее double
Sergey
из-за AVX и прочего, видимо.
Deleted Account
ты возвращаеш указатель на временный объект?
серёжа
Ilya
именно
Крылатый
Крылатый
Он не весь код показал.
Deleted Account
ну там ретурн видно
Крылатый
Малавата будет!
Deleted Account
Ilya
Sergey
плохо
серёжа
А чего не const auto в цикле?
Sergey
если вектор реаллоцирует память - ссылки станут битыми
Ilya
Более красивый способ подскажите?
Deleted Account
Sergey
возвращать копию, а не ссылку. для такой небольшой структуры, некритично
Sergey
в данном случае, уик понтеры не дадут ничего хорошего, мне кажется
Sergey
алсо, очевидно, что надо клиентов класть в std::map< id, ... >
Sergey
типичный случай же. добавление, удаление, поиск.
Sergey
удаление из вектора - дорогая операция
Sergey
не будет проблем с уникальностью id, заодно. сейчас у вас ничто не защищает от запихивания двух клиентов с одним id, и находиться будет первый встреченный
Ilya
пожалуй, так и сделаю
pinnokio
могу показать уродливый тест)
Sergey
даже хз. выключена оптимизация, возможно
Sergey
давай
pinnokio
на -O2 собирал
pinnokio
давай
http://pastebin.com/7bxhZsQL
pinnokio
Sergey
команда time же есть для такого
Sergey
чтобы обвзяку измерения не писать