HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Флуд > Грамотность кода
Страницы (4): « 1 2 [3] 4 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34514
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
да и где гарантия что везде это одинаково будет?

Ну привет... В пункте 5.2.1 стандарта языка С++.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 183654

Старое сообщение 13-09-2019 17:58
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



XaeroX ага, все компиляторы на 100% соответствуют стандартам?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 183655

Старое сообщение 13-09-2019 17:59
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34514
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
А если я допустим [] перегружу?

Ты его никак не перегрузишь для integral expression, поэтому тут без вариантов.

Добавлено 14-09-2019 в 01:03:

Цитата:
Дядя Миша писал:
ага, все компиляторы на 100% соответствуют стандартам?

Не все, но ты всегда можешь заслать донат багрепорт

__________________

Сообщить модератору | | IP: Записан
Сообщение: 183656

Старое сообщение 13-09-2019 18:03
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Если уж рассуждать за всякое. Меня вот например такие вещи прикалывают

C++ Source Code:
tw->openLeafNumbers[ tw->numOpenLeafs ] = node & ~(3 << 30);

Конечно так делать не следует, но оцените полёт мысли.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 183657

Старое сообщение 13-09-2019 18:03
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34514
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Конечно так делать не следует, но оцените полёт мысли.

Обнуляем два старших бита, всё ок.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 183658

Старое сообщение 13-09-2019 18:10
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4136

Рейтинг



Цитата:
Дядя Миша писал:
Конечно так делать не следует

А как следует-то? Так экономично.

Сообщить модератору | | IP: Записан
Сообщение: 183659

Старое сообщение 13-09-2019 19:39
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



минус явным образом убирать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 183660

Старое сообщение 13-09-2019 20:09
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Цитата:
2[i] + 4[i]

Такое стоит пожалуй заносить в палату мер и весов идиотского синтаксиса. Давно знал, что стандарт разрабатывали люди с сексуальными девиациями, но чтоб настолько...
Цитата:
node & ~(3 << 30);

writeonly

//Вспомнился замечательный сайт https://cdecl.org/, что какбе намекает.

__________________
http://www.moddb.com/mods/monorail-quest

Отредактировано thambs 13-09-2019 в 23:23

Сообщить модератору | | IP: Записан
Сообщение: 183662

Старое сообщение 13-09-2019 23:18
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
thambs писал:
Давно знал, что стандарт разрабатывали люди с сексуальными девиациями

Компилятор весьма вольно трактует некоторые вещи. Ему всё равно, вообщем-то.
Что навскидку вспомнил: модификаторы можно писать подряд несколько раз, например const const и это тоже соберётся.
Или const char *const foo.
Причём в первом случае будет варнинг, а во втором нет.

Добавлено 14-09-2019 в 10:10:

А всё потому что модификатор допускается объявлять как до типа, так и после.

Добавлено 14-09-2019 в 10:20:

И вот еще замечательный пример
C++ Source Code:
1
class foo
2
{
3
  my_class  *base;
4
  void Init( const my_class *base )
5
  {
6
    base = base;
7
  }
8
};

член класса останется непроинициализированным. Никаких варнингов не будет выдано.

Добавлено 14-09-2019 в 10:25:

Пример из p2csg
C++ Source Code:
static void EntityApplyTransform( mapent_t *src, mapent_t *dst, bool brushentity, bool external_map, vec_t yaw_offset = 0.0 )

Вызов
C++ Source Code:
EntityApplyTransform( mapent, mapent, true, false -90.0 );

Пропустил запятую. Никаких предупреждений.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 183666

Старое сообщение 14-09-2019 07:25
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4136

Рейтинг



Цитата:
Дядя Миша писал:
Никаких предупреждений.

Тут ведь разрешённое автоматическое приведение получилось. Статический анализатор может и предупредил бы, а компилятору-то что.

Сообщить модератору | | IP: Записан
Сообщение: 183669

Старое сообщение 14-09-2019 09:52
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34514
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
nemyax писал:
а компилятору-то что.

Ну так-то не каждый день из булеанов вычитают флоаты.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 183671

Старое сообщение 14-09-2019 12:03
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



nemyax
Неявное приведение от более общего типа к менее общему — это прямо таки какая-то синтаксическая феерия.

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | | IP: Записан
Сообщение: 183672

Старое сообщение 14-09-2019 12:06
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34514
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


thambs
Тут не совсем оно. Скорее, интересные особенности неявного приведения булевого типа.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 183677

Старое сообщение 14-09-2019 12:53
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



XaeroX
Так ведь два раза же, не? bool -> int -> bool, первое при вычитании, корректная операция, приводим тип выше по иерархии абстракций; а вот дальше получается, что "теряем точность" (в кавычках). ЕМНИП, а там разве нет флага компилятору что бы такое неявное приведение сверху-вниз запретить?

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | | IP: Записан
Сообщение: 183678

Старое сообщение 14-09-2019 13:08
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



в крестах false это не макрос, а встроенное слово языка.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 183683

Старое сообщение 14-09-2019 14:34
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 01:36. Новая тема    Ответить
Страницы (4): « 1 2 [3] 4 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Флуд > Грамотность кода
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024