Size: a a a

2021 March 03

SK

Stas Koynov in supapro.cxx
d7d1cd
А еще обработка если дата равна 31. Вот такой код накидал:
int foo(int i) {
 if (i < 6) return 1;
 if (i > 30) return 25;
 return (i - 1) - (i - 1) % 5;
}
имхо 32 байта на таблицу за O(1), код расчета в топку! хотя если у вас загрузчик внутренний и всего 16КиБ ОЗУ тогда да лучше потратить флэшку
источник

D

Dmitriy in supapro.cxx
Stas Koynov
если тебя напрягает размер свитч-кейза. ну ты можешь сделать таблицу сам! так как последовательно без дыр, просто массив иначе на выбор хэшь таблица, КЧ дерево. и мелкий код попали в таблицу не попали
Меня напрягает исключительно с точки зрения красоты кода
По производительности свитч подходит
Но городить обработчики, тем более полиморфные - медленнее в разы
источник

TB

Tea Bzz in supapro.cxx
есть какие-то правила по неймингу типов файлов?(.cpp, .cxx, .h, .hpp)
источник

Н

Николай in supapro.cxx
d7d1cd
А еще обработка если дата равна 31. Вот такой код накидал:
int foo(int i) {
 if (i < 6) return 1;
 if (i > 30) return 25;
 return (i - 1) - (i - 1) % 5;
}
зачем единицу отнимаешь в конце?
источник

AS

Anatoly Shirokov in supapro.cxx
Tea Bzz
есть какие-то правила по неймингу типов файлов?(.cpp, .cxx, .h, .hpp)
Именуй по имени класса, содержащегося в h/cpp. Или ты про расширение? Все равно
источник

d

d7d1cd in supapro.cxx
Serhii Herashchenko
Тогда уже если i > 25
Верно
источник

SK

Stas Koynov in supapro.cxx
Dmitriy
Меня напрягает исключительно с точки зрения красоты кода
По производительности свитч подходит
Но городить обработчики, тем более полиморфные - медленнее в разы
эмм. свитч-кейз красив и последователен, если он не вложенный и т.п, когда студенты фигачат стэйт машины на них. это вот да вырви глазно. но свитч-кейз в остальных случаях норм решение. красота в простоте. свитч-кейз простой!
источник

d

d7d1cd in supapro.cxx
Николай
зачем единицу отнимаешь в конце?
Потому что если не отнимать, то, например, число 10 даст на выходе 10, а надо 5.
источник

TB

Tea Bzz in supapro.cxx
Anatoly Shirokov
Именуй по имени класса, содержащегося в h/cpp. Или ты про расширение? Все равно
ок, спасибо
источник

AS

Anatoly Shirokov in supapro.cxx
Tea Bzz
ок, спасибо
hpp - типа хедер C++ кода, но традиционно h/cpp
источник

TB

Tea Bzz in supapro.cxx
Anatoly Shirokov
hpp - типа хедер C++ кода, но традиционно h/cpp
я так и понял, просто возможно я чего-то не знаю, и это для чего-то другого
источник

SK

Stas Koynov in supapro.cxx
Tea Bzz
я так и понял, просто возможно я чего-то не знаю, и это для чего-то другого
ну добавлю свои 5 копеек. где-то читал, что hpp это не просто ++ хедер. а хедер именно с кодом ++, скажем с шаблоном! и это 100% не будет воспринят Си компилятором. тогда как h можно и там и там. Но со временем все перемешалось и сейчас просто делают h\cpp. а всякие h++ и т.п это как телефон верту
источник

TB

Tea Bzz in supapro.cxx
Stas Koynov
ну добавлю свои 5 копеек. где-то читал, что hpp это не просто ++ хедер. а хедер именно с кодом ++, скажем с шаблоном! и это 100% не будет воспринят Си компилятором. тогда как h можно и там и там. Но со временем все перемешалось и сейчас просто делают h\cpp. а всякие h++ и т.п это как телефон верту
по перфекционизму хочется .hpp юзать
источник

SH

Serhii Herashchenko in supapro.cxx
Stas Koynov
ну добавлю свои 5 копеек. где-то читал, что hpp это не просто ++ хедер. а хедер именно с кодом ++, скажем с шаблоном! и это 100% не будет воспринят Си компилятором. тогда как h можно и там и там. Но со временем все перемешалось и сейчас просто делают h\cpp. а всякие h++ и т.п это как телефон верту
Не это бред, компилятору все равно на формат хедера
источник

SH

Serhii Herashchenko in supapro.cxx
Так как компилятор не работает с хедерами в принципе
источник

SH

Serhii Herashchenko in supapro.cxx
Такой сущности просто не существует для компилятора
источник

TB

Tea Bzz in supapro.cxx
* ddos'ю этот чат вопросами по код стайлу, уж извиняйте, имена констант в #define пишутся капсом же?
источник

ID

In Dev in supapro.cxx
Tea Bzz
* ddos'ю этот чат вопросами по код стайлу, уж извиняйте, имена констант в #define пишутся капсом же?
Как хотите, так и пишется, зависит от стайл-гайда, которому вы следуете.
Вообще в C++ есть все инструменты, чтобы никогда не писать дефайны - советую так и делать
источник

TB

Tea Bzz in supapro.cxx
In Dev
Как хотите, так и пишется, зависит от стайл-гайда, которому вы следуете.
Вообще в C++ есть все инструменты, чтобы никогда не писать дефайны - советую так и делать
в том то и проблема, я не нашел единого оффициального стайл гайда
источник

SK

Stas Koynov in supapro.cxx
Serhii Herashchenko
Не это бред, компилятору все равно на формат хедера
причем тут компилятор бл...? ты имена файлам для компилятора даешь? ты даешь имена файлам и переменным, классам, и т.п для людей! Написть код понятный компилятору может почти каждый идиот. а код понятный человеку не каждый
источник