|
|
  |
Как ПРАВИЛЬНО программировать на С++, Вопросы по программированию на С++ для микроконтроллеров. |
|
|
|
Aug 3 2010, 07:08
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 14-08-07
Пользователь №: 29 776

|
Цитата Если вы посмотрите на sizeof(A) и наследуемые классы, то увидите, что int Х в них нет. А если уберете static, то размер классов увеличится.
Вот об этом и разговор. Естественно X там нет, он лежит отдельно от всего в единственном экземпляре. Но я не понимаю вот этого: Цитата В случае создания объектов от разных классов, объект SPI будет продублирован. Это как так может быть? С чего создастся два разных Х? Цитата(Mahagam @ Aug 2 2010, 13:51)  це-крест-крест добавляет к этим проблемам ещё и проблемы собственно языка. Конечно. И ровно то же самое говорят упертые ассемблерщики в сторону цешников (и справедливо, если на все смотреть плоско!). Смотрите на мир шире, не зря эти языки были придуманы, не зря существуют методы проектирования ПО. Естественно, что для простого SPI не нужно городить классы, но когда у вас будет огромный проект, вы встряните и будете долго понимать, как же так получилось непонятно. Думается мне, что это не "проблемы языка", а банально проблемы от незнания языка. Это не характеризует язык.
|
|
|
|
|
Aug 3 2010, 08:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(Mahagam @ Aug 3 2010, 10:53)  я и смотрю широко. война с конструкциями языка (и только с конструкциями языка) - удел програмеров це++ В 1981 году мы делали статистический анализатор кардиоинтервалов на К580ИК80. У меня (единственного программиста) не было абсолютно ничего кроме блокнотика с клетчатой бумагой, таблицы мнемоники команд и программатора УФ ПЗУ. Все это было сделано, работало и получило награду на выставке в Женеве. Но ...!!! После этого я зарекся заниматься таким программированием. Мне ночами снились квадратики с кодами. Думается это одна из причин появления языков высокого уровня. Вторая причина - переносимость. Третъя - документированность (имею в виду, что если с вами что-то случается, то вашу работу легче кому-то подхватить). А причин бесконечных ратований за ассемблер, на мой взгляд, две: 1. Понятность ассемблера для "железячника". 2. Лень изучения языков высокого уровня применительно к конкретному процессору.
|
|
|
|
|
Aug 3 2010, 11:15
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
и где я упоминал ассемблер??? поясняю - программеры на Си воюют только с железом и со своими алгоритмами. си плюс плюс - кагбэ намекает, что проблем будет в два раза больше. а именно: секас с инкапсуляцией, наследованием, полиморфизмом (ну три кита проблем  )
|
|
|
|
|
Aug 3 2010, 11:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(Mahagam @ Aug 3 2010, 14:15)  и где я упоминал ассемблер??? поясняю - программеры на Си воюют только с железом и со своими алгоритмами. си плюс плюс - кагбэ намекает, что проблем будет в два раза больше. а именно: секас с инкапсуляцией, наследованием, полиморфизмом (ну три кита проблем  ) Да, витиевато пишите. Сейчас только ваша мысль прояснилась. По поводу С++. Очень хорошо на форуме сказал автор scmRTOS: С++ ничего не добавляет, если вы сами этого не просите.
|
|
|
|
|
Aug 3 2010, 12:24
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 14-08-07
Пользователь №: 29 776

|
Цитата(Mahagam @ Aug 3 2010, 15:15)  программеры на Си воюют только с железом и со своими алгоритмами. Это тоже ошибочное мнение  Программеры на си, которые воюют, они воюют и с си! Потому что не знают языка! А те, кто знает, те не воюют, точно так же как и с си++.
|
|
|
|
|
Aug 3 2010, 13:05
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Mahagam @ Aug 3 2010, 16:50)  во налетели.  ещё раз. чисто наблюдения показывают, что вопросы касаемые конструкций и возможностей языка у программистов Си практически не обсуждаются. А что там особо обсуждать, разве что правила глянуть в спорных ситуациях. Фактически, макронадстройка над ассемблером, с нелинейным преобразованием. Нет возможностей - нет вопросов. Хотя нет, был недавно вопрос - ARV со своими менюшками колдовал. Никак эта дикая смесь структур и юнионов не хотела в флешь ложиться...
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|