![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Синтаксис С++
За годы преподавания C++ я узнал, что подавляющее большинство программистов C++ (включая самых опытных) редко пользуется некоторыми возможностями языка. Конечно, дело это сугубо индивидуальное, но при всей сложности и глубине C++ небольшой обзор не повредит никому. В этой и двух следующих главах я постараюсь выровнять уровень подготовки читателей перед тем, как переходить к действительно интересным темам. Эта глава не заменит Annotated Reference Manual или другое справочное руководство - вы не найдете в ней полной спецификации языка. Я лишь рассмотрю некоторые языковые средства, которые часто понимаются неверно или не понимаются вовсе. Придержите шляпу и приготовьтесь к стремительному облету синтаксиса C++! этот Синтаксис он как типа философии или реально приминяеца ? понятнее ответе ? --------------------
Денис |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Я нихрена не понял, этот вопрос, статья или ответ?
какой синтаксис?
Приготовился, где обещанный облет? |
||||
|
|||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Если не понял за каким хреном сюда влез ???
--------------------
Денис |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
У тебя все в порядке с головой? Ты вроде как создал тему и в конце что-то спрашиваешь, я тебе внятно объяснил, что твой вопрос непонятен, и судя по тому, что я вроде как русским языком владею неплохо и судя по количеству ответов в твоей теме непонятен он не мне одному. Если у тебя нет желания получить ответы на свой вопрос, то какого черта ты тогда тему создал? Ты годами преподаешь C++ и не знаешь что такое синтаксис? О чем вообще твой вопрос? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Эврика!
Это же цитата из книги Цитаты надо как-то выделять, чтобы они не путались с собственным сообщением, а желание отвечать все равно пропало. |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
Попробую внести ясность
В середине первого топика идет вырезка из статьи. В конце топика идет примерно такой вопрос: "Неужели какие-то заковыристые конструкции применяются в реальных программах ?" -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Вот я и спросил Какие именно заковыристые конструкции? Одни могут применяться, другие нет. Кто-то может и switch сочтет заковыристой конструкцией. |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
Я думаю каразтаки сейчас именно этот случай -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Приблизительный перевод: Применяется ли знание синтаксиса в реальном программировании, или это абстракция не имеющая практического применения ? Вобщем чел, хочет знать, нужно ли изучать ему синтаксис, или лучше не забивать голову всякой хренью,... denes, короче, эту хрень, к сожалению, придется изучать, если хочешь кодить... |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Синтаксис и грамматику русского языка тоже неплохо бы изучить...
-------------------- ... |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Применяется ли знание синтаксиса в реальном программировании, или это абстракция не имеющая практического применения ?
ты прав volatile только где о ней подробно написано ? --------------------
Денис |
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 4 Всего: 19 |
denes, Капитан Очевидность заявляет: знание синтаксиса применяется в реальном программировании, так как языков программирования без синтаксиса исчезающе мало, а у С++ сложный синтаксис, не зная который не получится писать программы.
-------------------- You're face to face With man who sold the world |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Под синтаксисом языка программирования понимают набор правил для построения корректных конструкций на данном языке.
Не зная синтаксис языка на нем вообще нельзя написать ни строчки кода. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Что-то я не могу отыскать, но... С++ - это не один язык программирования, а несколько. Это есть в Effective C++.
Я бы слегка иначе сформулировал, чем там. С++ можно использовать как:
На первом уровне при сохранении процедурного подхода вы получаете аргументы по-умолчанию, ссылки, перегруженные функции, константы, ... На втором вы используете ООП. class и понеслась душа в рай. + Шаблоны, но по большей части, только как средство обобщённого программирования. Немного трогаете STL. На третьем шаблоны уже для метапрограммирования, исключения и прочие "прелести". Используете STL "на всю катушку". При этом некоторые синтаксические возможности трудно однозначно отнести к какому-либо уровню. Например, исключения. Кто-то считает, что ООП без исключение - это и не ООП. Поэтому включает исключения уже на уровень 2. -------------------- |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
а где есть эти определения ?
где эти правила ? --------------------
Денис |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
В стандарте языка и в любой книге по C++. Добавлено через 1 минуту и 51 секунду Видимо нужен пример. Описание того, как пишется тот или иной оператор и есть описание синтаксиса языка. Книга, описывающая как писать оператор if по сути описывает синтаксис. |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
у меня две книги по языку правил не видел ! только изучение написания и значения !
может это :Критика синтаксиса Операция присваивания обозначается как =, а операция сравнения как ==. Их легко спутать, при этом операция присваивания возвращает значение, поэтому присваивание на месте выражения является синтаксически корректным, а в конструкциях цикла и ветвления появление числа на месте логического значения также допустимо, так что ошибочная конструкция оказывается синтаксически правильной. Типичный пример подобной ошибки: if (x=0) { операторы } Здесь в условном операторе по ошибке написано присваивание вместо сравнения. В результате, вместо того, чтобы сравнить текущее значение x с нулём, программа присвоит x нулевое значение, а потом интерпретирует его как значение условия в операторе if. Так как нуль соответствует логическому значению «ложь», блок операторов в условной конструкции не выполнится никогда. Ошибки такого рода трудно выявлять, но во многих современных компиляторах предлагается диагностика некоторых подобных конструкций. Операции присваивания (=), инкрементации (++), декрементации (--) и другие возвращают значение. В сочетании с обилием операций это позволяет, хотя и не обязывает, создавать трудночитаемые выражения. Наличие этих операций в C было вызвано желанием получить инструмент ручной оптимизации кода[источник не указан 339 дней], но в настоящее время оптимизирующие компиляторы обычно генерируют оптимальный код и на традиционных выражениях. С другой стороны, один из основных принципов языков C и C++ — позволять программисту писать в любом стиле, а не навязывать «хороший» стиль. Некоторые преобразования типов неинтуитивны[источник не указан 339 дней]. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат. Многие конструкции С++ позволяют делать то же самое, что и конструкции C, также присутствующие в С++. Это иногда сбивает с толку новичков. Например, приведение типов при помощи dynamic_cast позволяет привести указатель или ссылку строго в пределах иерархии классов. Это делает код более надёжным, декларативным и позволяет находить приведения в пределах иерархии при помощи инструментов типа grep. Однако вследствие требования высокой степени совместимости с C старое приведение типов всё ещё поддерживается. --------------------
Денис |
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 4 Всего: 19 |
Дайте же успокоительного этому поциенту!
denes, излагай ясно, чего ты хочешь понять. И помни, что правильно составленный вопрос - это половина ответа. А теперь попробуй перечитать, что ты нам сюда пишешь. -------------------- You're face to face With man who sold the world |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
а ну тибя нафиг
--------------------
Денис |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
denes
выдели сперва цитаты, а потом я постараюсь ответить на твой вопрос. А так мне совершенно непонятно где начинается и заканчивается твоя мысль, а где цитата.
этого не может быть, ты хочешь сказать, что твоя книга по C++ не описывает то, как составлять программу на языке C++? |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
да причом тут мысль ! мне ответ нужен на вапрос темы а ты не отвичаеш !
--------------------
Денис |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
ТЫ НЕ ОТВЕЧАЕШЬ НА МОЙ ОТВЕТ Тебе на вопрос уже раз 8 ответили в теме. Синтаксис языка - это правила построения корректных конструкций на этом языке, учить его естественно надо, так-как без знаний синтаксиса языка на нем ничего не напишешь. Описан синтаксис C++ в любой книге по C++, что из этого тебе непонятно? Если твой вопрос в другом, то сформулируй его как следует. Это сообщение отредактировал(а) azesmcar - 26.8.2011, 18:10 |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
а ясно но как тогда понять это :Конструкторы и деструктор
В классах всегда есть специальные функции — конструкторы и деструкторы, которые могут быть объявлены явно или неявно. ? и как узнать когда их надо объявлять ? Добавлено через 34 секунды коль это правила разъясните его ! --------------------
Денис |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
а ты на мой
--------------------
Денис |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
внимательно читать книжки и въедчиво разбирать примеры.. другого пути нет.. форум преднозначен для иного, и поэтому тут ответа на подобные вопросы не получите.. |
|||
|
||||
| kuzulis |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 5.9.2007 Репутация: нет Всего: 1 |
Люди, ну хватит кормить тролля. Пусть пациент уже сам найдет ответ в книжках.
ЗЫ: Учицца, учицца и еще раз учицца! ЗЫЗЫ: Я б не хотел иметь такого преподавателя. Это сообщение отредактировал(а) kuzulis - 26.8.2011, 23:27 |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
да я и так пытаюсь одно дело прочитать а другое дело прочитать и понять как работает там примеров маловать !
а некоторые пробуеш они не работают ! некоторые компиляторы не совпадают а я не магу минять их как перчатки !!! если у вас скажим не получилось вы же не бижите покупать друой компилятор так ? и для чего по ващему нужен этот форум ? я думал для решения сложных или не понятных вопросов ! скажим можно до фига прочесть теории но в практики быть полным нулём вот ваши книги ! без практики они мусор !!! вот и думайте после этого нужно оно или нет ? а читал я много просто не всё получаеца и об ошибках не в одной книги нету !!! вот и лезу на форумы но каждому выскочки типа kuzulis мне это писать не ахото ! просто прошу помогите плиз !!! --------------------
Денис |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
специализированные разделы, в том числе этот, нужны для вопросов, ответов на которые нет в книге, и при условии, что проявили желание сами с этим разобраться.. так если на вопрос уже сто раз отвечали и можно легко найти в гугле, вряд ли кому то захочется писать то же самое в 101й раз.. Добавлено @ 18:46 увидел kemiisto и подумал что тут как раз он был бы по теме.. denes, учитывая, какой напряг у Вас с формулировкой вопросов, думаю не стоит увлекаться C++, зря потратите время... есть куча более приятных и ненапряжных языков программированния.. Это сообщение отредактировал(а) mes - 27.8.2011, 18:47 |
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
ну сам я не смог разобраца и в книгах не нашол !
искал нормально ! ответили нет нету ответа пока что ! ответ те чётко ! --------------------
Денис |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
|
|||
|
||||
| denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
так ответ те чотко !
C++ или другой язык один хрен просто он более востребован ! хотя смотря где ! --------------------
Денис |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Чотко отвечать не каждому дано, обратитесь к нашему специалисту по подобной практике : http://forum.vingrad.ru/users/%D0%94%D0%BE...%81%D0%B5%D1%81 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |