Kernel3: Все сообщения за 5 Декабря 2007 года

 
ПнВтСрЧтПтСбВс
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Kernel3

аксакал

Бяка> Каждый гражданин ОБЯЗАН иметь при себе удостоверение личности. При его отсутствии, при проверке, возникают неприятности.
Насчёт ОБЯЗАННОСТИ таки вопрос, да. А по факту удостоверение личности (водительские права) у меня всегда с собой. Пригождаются, например, при оплате покупок в магазине картой. Но речь шла именно о паспорте.
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Bredonosec> А что, из-под висты уже нельзя создавать? :) Из-под хрюши можно было всегда :)
Bredonosec> //впрочем я-то всё равно традиционно извращался партмеджиком с бутового сидюка. Причем, никаких передвижений данных. Только на свободном пространстве. Как гарантия, что ничего не произойдет.//
Во-во. А если нужно изменять размер уже существующего раздела, то нужен специализированный софт. И бэкап. На всякий случай :)
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Mishka>> И все тесты на проверку стандарта такая программа пройдёт.
Balancer> Это не метод оценки :) Или мы пишем только то, что явно оговорено в стандарте, или переносимости у нас не будет вообще ни на каком языке. Вспомним пресловутый (i++ + i++) ? :)
Именно что вспомним :) В стандарте явно оговорено, что результат в этом случае не определён :)
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

yacc> Балансеру, насчет С++ был у меня такой случай: есть некий нешаблонный базовый класс с виртуальной ф-ией, и есть шаблонный класс-наследник с переопределенной этой ф-ией. Ф-ия кидает искючение. Где-то есть цикл по некому контейнеру указателей на базовый класс с ловлей исключения. На g++ 3.2 исключение там не ловилось, хотя должно было ( по стандарту ), при этом у VC++6.0 все работало правильно. Или что-то хитрее было, типа переопределенная ф-ия в шаблонном классе вызывала некую ф-ию, реализованную в базовом классе и та кидала исключение. Но проблемы были.
У меня был случай повеселее: VC++ 7.1 (.NET 2003) не вызвал перегруженный оператор приведения к типу у класса (по ссылке или указателю - уже не помню), к которому применили C-style typecast. Т.е. C-style cast отработал как reinterpret_cast, а не static_cast. На GCC аналогичного глюка не было. И, по моим наблюдениям, он в общем и целом всё-таки стандарту соответствует получше, чем Visual C++.
Broken Windows® cures my ills and makes me feel alright... ©  
Это сообщение редактировалось 05.12.2007 в 19:05

Kernel3

аксакал

Balancer> Ладно, уломали, у Си/Си++ всё плохо на уровне стандартов :D
Да нет, просто они посложнее байткодовых и скриптовых игрушек :P Зато позволяют решать более широкий спектр задач :)
Balancer> Но как это в "GPL-кабалу загоняет" - всё равно не раскрыто :D
А это уже не интересно :F
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Mishka> Кстати, стандарт не говорит, что sizeof(char)=1, но он говорит, что sizeof(char) &le sizeof(int) &le sizeof(long), ЕМНИП. :)
Он говорит, что char должен быть достаточным, чтобы вмещать ASCII. Т.е. может быть и 7 бит, в принципе :) :)
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Mishka> У меня такое впечатление, что VC прав в этом случае. Дома посмотрю стандарт. Особенно, если это касается указателей, а не референсов.
Не, точно не прав:

5.4 Explicit type conversion (cast notation) [expr.cast]
1 The result of the expression (T) cast-expression is of type T. The result is an lvalue if T is a reference
type, otherwise the result is an rvalue. [Note: if T is a non-class type that is cv-qualified, the cv-qualifiers
are ignored when determining the type of the resulting rvalue; see 3.10. ]
2 An explicit type conversion can be expressed using functional notation (5.2.3), a type conversion operator
(dynamic_cast, static_cast, reinterpret_cast, const_cast), or the cast notation.
cast-expression:
unary-expression
( type-id ) cast-expression
3 Types shall not be defined in casts.
4 Any type conversion not mentioned below and not explicitly defined by the user (12.3) is ill-formed.
5 The conversions performed by

— a const_cast (5.2.11),
— a static_cast (5.2.9),
— a static_cast followed by a const_cast,
— a reinterpret_cast (5.2.10), or
— a reinterpret_cast followed by a const_cast,

can be performed using the cast notation of explicit type conversion.

Порядок вроде как оговорён :) Другое дело, что код, о котором я говорил, был достаточно хитрым, и я сейчас его не воспроизведу. Т.е. запутаться компилятору там, в общем-то, было где :)
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Mishka> Я не зря говорил про указатели. На них static_cast работает как reinterpret_cast. Это дурка именно с указателями.
Mishka> Для reference всё немного по другому.
Ага. И если там были всё-таки ссылки, то неправ именно VC++ :)
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Vale> А какого черта было пудрить компилятору мОзги?...
Иногда нужно :) В тот раз это была работа с "умными" указателями собственной реализации.
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Это всё железячники виноваты: не могут сделать нормальный двунаправленный радиоканал :F
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

HolyBoy> А чем диод Scroll Lock плох?
Наверное, тем, что зажигается софтварно и на PS/2, и на USB клавиатурах :) Или я вопрос не понял? :)
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

Серокой> BT вообще-то двунаправленный канал. )
В статье по ссылке речь о беспроводных с USB-интерфейсом речь идёт, вроде как :)
Серокой> Мож батареи экономят?
А может и это :)
Broken Windows® cures my ills and makes me feel alright... ©  

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru