[01:15:48] <valexey> http://habrahabr.ru/post/150874/
[01:58:22] <valexey>
чтобы язык был тонким слоем над железом,
чтобы максимально чистый машинный код генерировался сразу, без использования оптимизаций,
чтобы за простыми конструкциями в языке не скрывался сложный машинный код,
чтобы программист чувствовал, что скрывается за его кодом.
[01:58:36] <valexey> судя по всему Вирт таки не достиг поставленных целей.
[02:08:36] <valexey> да, похоже в 2005 году info21 был вменяемее
[02:08:50] <valexey> то есть был такой же невежда но от человека в нем было больше
[04:01:47] <vlad2> Откуда такие выводы?
[04:02:21] <vlad2> А вот засовывание в enum значение, которое не перечислено - это undefined behavior или допустимо?
[04:02:52] <vlad2> Понятно, что в нормальных ЯВУ это будет cast error. А вот в C++?
[04:03:32] <vlad2> Интересует в контексте оптимизации switch.
[04:05:13] <vlad2> Т.е., если стоит switch(enum_type) и в свитче перечислено n - 1 допустимых значений enum:
[04:05:22] <vlad2> switch(enum_type)
[04:05:23] <vlad2> {
[04:05:31] <vlad2> case v1:
[04:05:37] <vlad2> case v2:
[04:05:40] <vlad2> case v3:
[04:05:55] <vlad2> do_something();
[04:06:01] <vlad2> }
[04:06:16] <vlad2> имеет ли право компилятор соптимизить это дело:
[04:06:31] <vlad2> if (enum_type != v4)
[04:06:35] <vlad2> do_something();
[04:06:49] <vlad2> Или не имеет?
[17:38:22] <vlad2> Покопал стандарт.
[17:38:33] <vlad2> Нашел только "unspecified result".
[17:39:37] <vlad2> Но с чисто практической точки зрения уверен на 99%, что оно должно работать корректно. В смысле никаких оптимизаций. В енум можно засовывать какое угодно целое и компилятор это учитывает.
[17:40:56] <vlad2> Т.е. даже если в switch перечислены все значения default не может быть "выкинут".
[17:53:31] <kemiisto> http://top.rbc.ru/society/05/09/2012/668053.shtml
[17:53:33] <kemiisto> :D
[17:53:45] <kemiisto> "Полёт надежды"
[17:53:54] <kemiisto> Кто на что надеется.
[17:53:56] <kemiisto> :D
[18:28:43] <vlad2> /me Отыетил info21 :)
[18:57:34] <kemiisto> vlad2: и действительно отыетил! :D
[20:22:55] <vlad2> /me таки припомнил info21 клеветы с ариан-5 :)
[20:29:49] <kemiisto> vlad2: valexey нервно курит в сторонке
[20:29:58] <kemiisto> он всего лишь клеветник
[20:30:09] <kemiisto> а ты "клеветник с отягчающим обстоятельством анонимности"
[20:30:12] <kemiisto> :-D
[20:30:14] <kemiisto> ОГОГО!
[20:30:22] <vlad2> ;)
[21:03:38] <valexey> vlad2: вот так, прям влоб, написать САМОМУ?
[21:03:46] <valexey> да вы, батенька, дерзок!
[22:05:10] <kemiisto> valexey: хуже
[22:05:11] <kemiisto> он
[22:05:14] <kemiisto> клеветник с отягчающим обстоятельством анонимности
[22:05:18] <kemiisto> ;-)