-
- полный отстой под названием код в хедере, ещё одно грубое нарушение - 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, )