Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.1.158] |
|
Страницы: (5) 1 [2] 3 4 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Увы, но у меня и сейчас MSVS 2017 так жедает (CMP) без настроек ускорения/оптимизации.
|
Сообщ.
#17
,
|
|
|
Ну, видимо так M$ понимает понятие оптимизации. Раз нет оптимизации, значит нельзя даже мелочи оптимизировать.
|
Сообщ.
#18
,
|
|
|
(x == 0).toString().length() == 4
Добавлено А вообще фигня холивар. Даёшь табы vs пробелы Добавлено Цитата Славян @ Увы, но у меня и сейчас MSVS 2017 так жедает (CMP) без настроек ускорения/оптимизации. У тебя странная студия. У меня она даже в дебаге test-ом сравнивает. В релизе с оптимизациями тем более. |
Сообщ.
#19
,
|
|
|
Цитата OpenGL @ Даёшь табы vs пробелы Так уже давно холивар закрыт. http://intellindent.info/seriously/ Проблема только в том, что инструментарий (IDE, редакторы) не умеют в грамотный индент табами с выравниванием пробелами, поэтому приходится деградировать до all-spaces. |
Сообщ.
#20
,
|
|
|
Так нечестно. Я это должен был выложить это в качестве аргумента того, что сторонники пробелов не умеют пользоваться табами
Цитата Da$aD @ Проблема только в том, что инструментарий (IDE, редакторы) не умеют в грамотный индент табами с выравниванием пробелами, поэтому приходится деградировать до all-spaces. Я для этого пользуюсь astyl-ом, автоматически запускаемым при сохранении файла. Он в абсолютном большинстве случаев отличает, когда надо использовать alignment, а когда - indentation - в целом меня вполне устраивает. Пример из статьи отформатировал он правильно. |
Сообщ.
#21
,
|
|
|
Цитата OpenGL @ Даёшь табы vs пробелы Слабо. Даже () { } vs () { } как-то, ИМХО, интереснее Добавлено Между тем, мнения в голосовалке разделились почти поровну. Не ожидал.. |
Сообщ.
#22
,
|
|
|
Цитата B.V. @ Всё просто: каждой ситуации своё предпочтение. Если переменная хранит признак, то ! в самый раз, а если число, то == 0. Просто это не каждый сформулировать догадывается. мнения в голосовалке разделились почти поровну |
Сообщ.
#23
,
|
|
|
Цитата Qraizer @ Если переменная хранит признак, то ! в самый раз, а если число, то == 0. Если переменная объявлена но не определена? Или в условии задачи она точно определена? Добавлено Все таки проверка числа. |
Сообщ.
#24
,
|
|
|
Цитата Славян @ Ибо вещали (сильно давно), что операция CMP (асм-реализация "==0") крайне тормознутая, а "test" (в случае ! используется, бывает) существенно быстрее! Все эти "крайне" и "существенно" сильно преувеличены. Регистровые операции cmp r,i и test r,r исполняются одинаково быстро. Разница между ними в размере команды, что косвенно\теоретически может сказаться на задержке их декодирования, да и то только при при определенных "неблагоприятных обстоятельствах". Причем в х86 есть укороченный вариант команды сравнения cmp r/m,i8 с однобайтовой константой, автоматически расширяемой знаком до размера операнда. Соотв-но нормальный (не тупой) компилятор для сравнения с нулем должен использовать именно этот вариант (а не общий, когда размер константы совпадает с размером операнда). Зато cmp на современных x86 имеет преимущество перед test r,r при сравнении операнда в памяти (когда окружающий код не требует его загрузки в регистр), т.к. одна команда cmp m,i8 и декодируется, и все in-order стадии конвеера проходит быстрее, чем пара команд mov r,m + test r,r (хотя на практике разницы может и не быть, т.к. все зависит от окружающего кода, "ветра", "фаз луны" и т.д.). |
Сообщ.
#25
,
|
|
|
Цитата B.V. @ Это не выбор между нулём и НЕ, это выбор между двумя семантиками проверки нулевого значения А почему не между двумя семантиками проверки булевого значения? |
Сообщ.
#26
,
|
|
|
Цитата korvin @ А почему не между двумя семантиками проверки булевого значения? Потому что думаю, что выбор был бы слишком предсказуем: подавляющее большинство выбрало бы вариант !. А вот с численными значениями интереснее |
Сообщ.
#27
,
|
|
|
Цитата korvin @ Булевы значения вообще не принято сравнивать. Ещё в C, где вместо них использовались целые, сравнение признака с нулём считалось плохим стилем, если не ошибкой. А сравнение с TRUE (макрос, равный единице) было именно ошибкой. А почему не между двумя семантиками проверки булевого значения? |
Сообщ.
#28
,
|
|
|
Цитата B.V. @ Слабо. Даже () { } vs () { } как-то, ИМХО, интереснее Я выбираю первый вариант |
Сообщ.
#29
,
|
|
|
Для сравнения числовых значений - использую "==", для булевских просто проверка или проверка с отрицанием.
Для форматирования C/C++ кода все ж использую JavaStyle. Для меня он кажется более компактным и лучше читаемым. |
Сообщ.
#30
,
|
|
|
Цитата Polinom2686 @ А я - только второй; по-моему даже в 100% случаев. Я выбираю первый вариант |