-
- Иногда, бывало, напарывался, когда забывал ставить L после lvalue в дефайне. Алексей Мусин(394 знак., 30.07.2007 08:54, )
- Похоже, нашел красивое решение. И рыбку съесть и стандарты соблюсти. Argon(519 знак., 30.07.2007 08:06, )
- полный отстой под названием код в хедере, ещё одно грубое нарушение - htsoft(30.07.2007 21:51, )
- А чем const int i = 5; в хидере "грешнее", чем inline-функция там же? Точно так же компилятор подставит "тело" по месту, точно так же может сгенерировать отдельно стоящее "тело", может нет - на его ReAl(86 знак., 01.08.2007 00:54, )
- definition и declaration $) htsoft(121 знак., 01.08.2007 21:52, )
- Скотт Майерс таки советует размещать определения констант в хедерах vet_(237 знак., 14.08.2007 15:39)
- надо же, сам Скотт Майерс!!! Вы похоже так и не поняли что хотел htsoft сказать (это иногда бывает трудно =)). Нельзя (и я с этми согласен) статически выделять память в заголовочных файлах - Gamma SPb(14.08.2007 15:40)
- Придираясь к словам - он сказал "полный отстой под названием код в хедере". А не память. А инлайн-функции - это "ещё более код", но, тем не менее, широко применяется. По поводу "выделения" ReAl(19 знак., 14.08.2007 16:54)
- const int n=5; в хедере никакой памяти и не выделит vet_(63 знак., 14.08.2007 16:20)
- сам то пробовал? Gamma SPb(966 знак., 14.08.2007 16:55)
- Не только пробовал, но и постоянно применяю и наблюдаю в исходниках vet_(481 знак., 14.08.2007 17:26)
- ну да, GCC и RealView - очень специфические компиляторы =) Gamma SPb(922 знак., 14.08.2007 17:36)
- Ой, возможно я не понял - что именно кто именно сказал про gcc... На всякий случай - gcc на это не обижается ReAl(406 знак., 14.08.2007 23:30)
- Возможно, вы компилируете Си++, а Гамма - Си. - Алексей Мусин(15.08.2007 07:40, ссылка)
- я не знаю, чего вы там поняли, я имел в виду, что gcc и RealView такие же "специфические" компиляторы как и IAR Gamma SPb(1172 знак., 15.08.2007 02:22)
- Да НЕ НУЖНО. Я завёл указатели для того, чтобы показать - конфликта между разными модулями нет ДАЖЕ в том случае, когда память выделена. Вам, похоже, тоже трудно понять чужие слова. ReAl(1383 знак., 15.08.2007 10:29)
- На всякий случай: plain С и C++ это разные языки. - =AlexD=(15.08.2007 08:37)
- Будем продолжать тестирование. Только, пожалуйста, список компиляторов, признанных "неспецифическими" - в студию. А то так все окажутся "специфическими". Ну кроме, может быть, одного. ReAl(922 знак., 14.08.2007 21:34)
- Даю готовую ссылку на стандарт ISO/IEC 14882:2003(С++ 2003) и рекомендую поругаться с IAR о несоблюдении оного :-) ReAl(336 знак., 14.08.2007 21:41)
- gcc ничуть не более специфичен, чем IAR - ReAl(14.08.2007 21:02)
- IAR 4.41A. Ошибок не выдает, собирает в 1 экземпляре ;) - vet_(14.08.2007 17:42)
- Ой, возможно я не понял - что именно кто именно сказал про gcc... На всякий случай - gcc на это не обижается ReAl(406 знак., 14.08.2007 23:30)
- ну да, GCC и RealView - очень специфические компиляторы =) Gamma SPb(922 знак., 14.08.2007 17:36)
- Не только пробовал, но и постоянно применяю и наблюдаю в исходниках vet_(481 знак., 14.08.2007 17:26)
- Скажем так - выделяет не больше, чем определение (раз уж тут так часто употребляются эти красивые слова "определение & объявление") inline-функции в том же хидере, ReAl(701 знак., 14.08.2007 16:50)
- и зачем только С++ придумали? Все эти красивые и полезные вещи - абстракция, инкапсуляция... Я уверен, что вы знаете, что это такое. Gamma SPb(456 знак., 14.08.2007 17:05)
- КТО говорил про то, что const int n = 5; будет включаться во ВСЕ проекты? Причём тут пространства имён? Ну напишу я ReAl(224 знак., 14.08.2007 20:55)
- да отстой, это отстой. потому что нет смысла тридцать раз выделять память для одной константы. - Gamma SPb(15.08.2007 02:18)
- Читаем стандарт: Алексей Мусин(217 знак., 15.08.2007 07:33)
- да отстой, это отстой. потому что нет смысла тридцать раз выделять память для одной константы. - Gamma SPb(15.08.2007 02:18)
- Это-ж получаицца ацтойный Паскаль! ;О) - mse(14.08.2007 17:50)
- аха! ну придумывать самому себе геморрой, а потом его разруливать в общем, никто не запрещает =) - Gamma SPb(14.08.2007 17:53)
- На любом языке можно написать программу "на Фортране"! ;О) - mse homjak(14.08.2007 21:15)
- аха! ну придумывать самому себе геморрой, а потом его разруливать в общем, никто не запрещает =) - Gamma SPb(14.08.2007 17:53)
- КТО говорил про то, что const int n = 5; будет включаться во ВСЕ проекты? Причём тут пространства имён? Ну напишу я ReAl(224 знак., 14.08.2007 20:55)
- и зачем только С++ придумали? Все эти красивые и полезные вещи - абстракция, инкапсуляция... Я уверен, что вы знаете, что это такое. Gamma SPb(456 знак., 14.08.2007 17:05)
- сам то пробовал? Gamma SPb(966 знак., 14.08.2007 16:55)
- надо же, сам Скотт Майерс!!! Вы похоже так и не поняли что хотел htsoft сказать (это иногда бывает трудно =)). Нельзя (и я с этми согласен) статически выделять память в заголовочных файлах - Gamma SPb(14.08.2007 15:40)
- Скотт Майерс таки советует размещать определения констант в хедерах vet_(237 знак., 14.08.2007 15:39)
- definition и declaration $) htsoft(121 знак., 01.08.2007 21:52, )
- Если const - это код и является грубым нарушением, то прямой смысл использовать только define. - Argon(31.07.2007 07:31, )
- тебе прямая дорога учить матчасть htsoft(37 знак., 31.07.2007 20:22, )
- Иди, поучи матчасти Страуступа. - =AlexD=(01.08.2007 08:35, )
- какую конкретно? ;) - htsoft(01.08.2007 21:53, )
- Ну вот эту хотя бы (из обращения к читателю) ;) Dir(1351 знак., 04.08.2007 14:55, )
- какую конкретно? ;) - htsoft(01.08.2007 21:53, )
- Вообще в стандартных хедерах типа string.h код тоже присутствует... - Argon(01.08.2007 06:26, )
- Пусть даже и inline. Т.е. я согласен с ReAl чуть выше. - Argon(01.08.2007 06:27, )
- Иди, поучи матчасти Страуступа. - =AlexD=(01.08.2007 08:35, )
- тебе прямая дорога учить матчасть htsoft(37 знак., 31.07.2007 20:22, )
- А чем const int i = 5; в хидере "грешнее", чем inline-функция там же? Точно так же компилятор подставит "тело" по месту, точно так же может сгенерировать отдельно стоящее "тело", может нет - на его ReAl(86 знак., 01.08.2007 00:54, )
- А я что говорил два дня назад? "extern было лишнее" А по поводу "если решит" - так решит только тогда, ReAl(337 знак., 30.07.2007 09:52, , ссылка)
- А там extern был нужен, чтобы не создавать единого файла с перечнем всех переменных. Argon(428 знак., 30.07.2007 11:21, )
- ... и линкер ругнется. - Алексей Мусин(30.07.2007 09:00, )
- В режиме компиляции С++ и без extern если программист вынудит компилятор таки завести переменные - он заводит их статическими уровня файла (по кр. мере gcc), поэтому линкеру не на что ругаться. Если ReAl(84 знак., 30.07.2007 09:56, )
- Спасибо за разъяснения. Я ошибался. - Алексей Мусин(30.07.2007 11:56, )
- Не только gcc, так в стандарте написано AD(79 знак., 30.07.2007 10:39, )
- ему вроде не на что ругаться и не ругается - Argon(30.07.2007 09:48, )
- В режиме компиляции С++ и без extern если программист вынудит компилятор таки завести переменные - он заводит их статическими уровня файла (по кр. мере gcc), поэтому линкеру не на что ругаться. Если ReAl(84 знак., 30.07.2007 09:56, )
- полный отстой под названием код в хедере, ещё одно грубое нарушение - htsoft(30.07.2007 21:51, )
- всё очень просто, если ты работаешь не один, а в команде, то на первый раз ты получаешь выговор, на второй раз строгий выговор, на третий идёшь общаться с отделом кадров htsoft(114 знак., 28.07.2007 15:59, )
- На каком основании выговор? У вас есть какой-то регламент? Можете его опубликовать? - Алексей Мусин(30.07.2007 08:59, )
- ещё, и так далее... мало? htsoft(202 знак., 30.07.2007 22:25, , ссылка)
- Мало :) Алексей Мусин(181 знак., 31.07.2007 06:36, )
- прикалываешь? ;) ну жди... - htsoft(31.07.2007 20:16, )
- Ждать с таймаутом? :) Просто если нет регламента, то насчет увольнения - распальцовка. - Алексей Мусин(01.08.2007 06:58, )
- так регламент-то внутренний ;) приходи работать в контору где не только интернет, но и интранет есть, там всё и увидишь ;) - htsoft(01.08.2007 21:45, )
- Ну так внутренний регламент я и попросил выложить! Алексей Мусин(101 знак., 02.08.2007 07:17, )
- мечтать не вредно ;) а ключи от квартиры? ;) htsoft(252 знак., 02.08.2007 22:36, )
- Т.е. ознакомиться с условиями/правилами работы на фирме можно только после того, как уже поступил на работу и подписал "о неразглашении"? Гатишно ;-) - ReAl(03.08.2007 20:22, )
- Обычное дело, кстати. :-/ - =AlexD=(03.08.2007 21:43, )
- да в общем-то никто и не приглашал ;) - htsoft(03.08.2007 20:49, )
- да в общем-то, если тему просмотреть - никто этого и не хотел... - ReAl(04.08.2007 03:56, )
- это пожалуйста, только не надо пропагандировать свои взгляды ;) - htsoft(04.08.2007 11:39, )
- да в общем-то, если тему просмотреть - никто этого и не хотел... - ReAl(04.08.2007 03:56, )
- Так сказал бы сразу про NDA, делов-то. - Алексей Мусин(03.08.2007 06:56, )
- Т.е. ознакомиться с условиями/правилами работы на фирме можно только после того, как уже поступил на работу и подписал "о неразглашении"? Гатишно ;-) - ReAl(03.08.2007 20:22, )
- мечтать не вредно ;) а ключи от квартиры? ;) htsoft(252 знак., 02.08.2007 22:36, )
- Ну так внутренний регламент я и попросил выложить! Алексей Мусин(101 знак., 02.08.2007 07:17, )
- так регламент-то внутренний ;) приходи работать в контору где не только интернет, но и интранет есть, там всё и увидишь ;) - htsoft(01.08.2007 21:45, )
- Ждать с таймаутом? :) Просто если нет регламента, то насчет увольнения - распальцовка. - Алексей Мусин(01.08.2007 06:58, )
- прикалываешь? ;) ну жди... - htsoft(31.07.2007 20:16, )
- Мало :) Алексей Мусин(181 знак., 31.07.2007 06:36, )
- например htsoft(88 знак., 30.07.2007 21:54, , ссылка)
- ещё, и так далее... мало? htsoft(202 знак., 30.07.2007 22:25, , ссылка)
- На каком основании выговор? У вас есть какой-то регламент? Можете его опубликовать? - Алексей Мусин(30.07.2007 08:59, )
- А на сколько % прога выросла? Я после дискусси про scmRTOS стал книжки по С++ перечитывать, и снова ++ у меня тяжкий осадок оставил. Evgeny_CD(836 знак., 27.07.2007 23:31, )
- Нуу, где-то на 7% приблизительно. Argon(342 знак., 30.07.2007 06:24, )
- Не пойму чёта. Если кнопочек многа, не обязательно на них все жать. =AlexD=(125 знак., 28.07.2007 05:51, )
- Мануфактуры вымерли. Любое современное программирование - это кооперация с другими. Пусть даже путем "пилесосения" исходников из инета. И умение быстро вкурить чужой исходник - нотъемлемая часть Evgeny_CD(559 знак., 28.07.2007 10:44, )
- Спецуификация С++ ужасает своей монотоностью... POV(180 знак., 28.07.2007 17:39, )
- Вообще, одно и тоже можно сделать разными способами даже на одном языке программирования (пример по ссылке). C++ дает возможность работать в очень обширном диапазоне уровней абстракции:
начиная M@ik(279 знак., 28.07.2007 15:31, , ссылка)
- боян ;) - htsoft(28.07.2007 16:40, )
- За ссылку спасибо!!!! Давно я так не ржал :) Не хочу быть "Master Programmer" :) - Evgeny_CD(28.07.2007 16:34, )
- Мануфактуры вымерли. Любое современное программирование - это кооперация с другими. Пусть даже путем "пилесосения" исходников из инета. И умение быстро вкурить чужой исходник - нотъемлемая часть Evgeny_CD(559 знак., 28.07.2007 10:44, )
- у Голуба было предложение использовать enum вместо define. правда enum не канает для float. - bialix(27.07.2007 14:11, )
- В принципе, правильно. Это фиксит проблему области видимости define. Но на практике define как-то привычней. Фиг с ними, с правилами! - Леонид Иванович(30.07.2007 00:28, )
- Да, про флоаты печально. для описания... POV(127 знак., 28.07.2007 17:33, )
- энум к томуже является полноценным типом и компилер дополнительные ошибки выдаёт при присваивании int -> enum - =AlexD=(28.07.2007 17:44, )
- ИМХО все таки не ошибки, а предупреждения, тип то он приведет - Gamma SPb(28.07.2007 19:07, )
- А вот фуй. MS VC 2005 =AlexD=(189 знак., 28.07.2007 21:37, )
- это когда он не является полноценным типом ;) и до кучи совсем криво написан ;) - htsoft(28.07.2007 22:24, )
- Смысл этого возражения от меня ускользает. Что значит "криво"? КАК тип можно описать "криво"? И что значит "когда он не является полноценным типом"? Это в каких случаях? =AlexD=(383 знак., 29.07.2007 07:23, )
- Извините, а Ваш tENUM содержит единственный элемент с порядковым номером 0, а в функции, вызывающей test, хотите выбрать элемент первый, которого нет. Не в этом ли sobaka порылась? Или я гоню? - бомж(30.07.2007 08:55, )
- так enum не как тип объявлен Gamma SPb(217 знак., 29.07.2007 12:48, )
- Вероятно это от компилятора зависит, но VC 2005 ругается одинаково и на то, и на это. - =AlexD=(29.07.2007 14:02, )
- так ты его кастуй ;) - htsoft(29.07.2007 20:46, )
- Что мне делать я сам знаю. Речь шла о другом. - =AlexD=(30.07.2007 08:04, )
- я говорил о том, что надо использовать const, а приведённый пример как раз показывает что и enum плохая замена define, разве не об этом речь? htsoft(831 знак., 30.07.2007 21:46, , ссылка)
- Всему своё место. Энум прекрасно подходит, если варианты входных данных нужно ограничить. И именно для этого он и предназначается. - =AlexD=(31.07.2007 08:40, , ссылка)
- а чем ты их ограничишь? - htsoft(03.08.2007 21:25, , ссылка)
- ИМХО - htsoft(31.07.2007 20:19, , ссылка)
- НЕТ, НЕ ПЛОХАЯ. Точка. - =AlexD=(01.08.2007 08:33, )
- ПЛОХАЯ!!! если тебе нужно ограничить варианты входных данных используй ASSERT! вот теперь точка. - htsoft(03.08.2007 21:48, )
- НЕТ, НЕ ПЛОХАЯ. Точка. - =AlexD=(01.08.2007 08:33, )
- Всему своё место. Энум прекрасно подходит, если варианты входных данных нужно ограничить. И именно для этого он и предназначается. - =AlexD=(31.07.2007 08:40, , ссылка)
- я говорил о том, что надо использовать const, а приведённый пример как раз показывает что и enum плохая замена define, разве не об этом речь? htsoft(831 знак., 30.07.2007 21:46, , ссылка)
- Что мне делать я сам знаю. Речь шла о другом. - =AlexD=(30.07.2007 08:04, )
- так ты его кастуй ;) - htsoft(29.07.2007 20:46, )
- Вероятно это от компилятора зависит, но VC 2005 ругается одинаково и на то, и на это. - =AlexD=(29.07.2007 14:02, )
- Смысл этого возражения от меня ускользает. Что значит "криво"? КАК тип можно описать "криво"? И что значит "когда он не является полноценным типом"? Это в каких случаях? =AlexD=(383 знак., 29.07.2007 07:23, )
- это когда он не является полноценным типом ;) и до кучи совсем криво написан ;) - htsoft(28.07.2007 22:24, )
- можно сделать и ошибки, а так, да, предупреждения :) - htsoft(28.07.2007 20:09, )
- А вот фуй. MS VC 2005 =AlexD=(189 знак., 28.07.2007 21:37, )
- ИМХО все таки не ошибки, а предупреждения, тип то он приведет - Gamma SPb(28.07.2007 19:07, )
- энум к томуже является полноценным типом и компилер дополнительные ошибки выдаёт при присваивании int -> enum - =AlexD=(28.07.2007 17:44, )
- extern было лишнее, IMHO. Смутило компилер и он завёл реальные переменные и, возможно, обращения к ним ReAl(137 знак., 27.07.2007 13:57, )
- Есть проверенный профессиональный способ - вместо #define писать .equ. Код сокращается во много раз, производительность растет на порядок. Способ работает всегда и везде - AVR(27.07.2007 12:42, )
- Это не та тема :) - Argon(27.07.2007 12:52, )
- Тогда смело перемещаю ее по назначению - AVR(27.07.2007 12:58, )
- Упс! тема вернулась обратно :) - Argon(30.07.2007 06:30, )
- Тогда смело перемещаю ее по назначению - AVR(27.07.2007 12:58, )
- Это не та тема :) - Argon(27.07.2007 12:52, )