Форум программистов, компьютерный форум CyberForum.ru

Разница между С и С++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.89
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
31.08.2013, 19:36     Разница между С и С++ #1
Если не брать во внимание объекты и классы, то разница состоит только лишь в cin, cout и директивах?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2013, 19:36     Разница между С и С++
Посмотрите здесь:

Разница между i++ и ++i.Си C++
C++ Разница между 0 и 00 ?
В чем разница между С и С++ C++
вчем разница между с++ и ++с C++
C++ Разница между != и <=
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
04.09.2013, 00:19     Разница между С и С++ #121
Цитата Сообщение от ValeryS Посмотреть сообщение
а зачем ввели?
Цитата Сообщение от fasked Посмотреть сообщение
Поэтому с точки зрения комитета _Bool довольно сильно отличается от char.
P.S.: если долго инкрементировать char возникнет переполнение, а это UB
Каждый раз, когда захочется использовать число для обозначения булевой величины, вспоминайте про Therac-25. Там тоже кто-то решил сэкономить один байтик и записывать "x = true" как "INC X" вместо "MOV X, 1" для реализации примитивов синхронизации. В итоге шесть трупов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
04.09.2013, 08:37     Разница между С и С++ #122
Цитата Сообщение от accept Посмотреть сообщение
кому надо, подключит заголовок, в котором уже всё есть
Какой заголовок? Если ты про stdbool, то он не дает define bool char. Я об этом говорю уже на нескольких страницах. Последний пример про NaN ты походу просто проигнорировал.
Цитата Сообщение от ValeryS Посмотреть сообщение
не поверишь если int инкрементировать тоже будет переполнение
и никакого UB
если char то после 127 будет -128
а если unsigned char то после 255 будет 0
Это если char 8 битный
но в любом случае max+1=min
Ты не поверишь возможно, но переполнение знаковых чисел это UB. При чем в стандарте Си об этом вообще написано рядом с определением самого UB.
3.4.3
1 undefined behavior
behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which this International Standard imposes no requirements
NOTE Possible undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or program execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message).
EXAMPLE An example of undefined behavior is the behavior on integer overflow.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2013, 14:32     Разница между С и С++ #123
Цитата Сообщение от fasked Посмотреть сообщение
Какой заголовок? Если ты про stdbool, то он не дает define bool char
ты вообще знаешь, что тип _Bool ввели, а не bool, потому что пользователи уже используют bool в C ?
а знаешь, как его используют ? не сидят и не объявляют в каждом файле

Цитата Сообщение от fasked Посмотреть сообщение
Последний пример про NaN ты походу просто проигнорировал.
потому что этот пример ни про что
тебе говорят, приведи реальный пример, где происходит инкрементирование логического типа, либо приведение NaN к логическому типу
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
04.09.2013, 21:07     Разница между С и С++ #124
Цитата Сообщение от accept Посмотреть сообщение
тебе говорят, приведи реальный пример, где происходит инкрементирование логического типа
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Каждый раз, когда захочется использовать число для обозначения булевой величины, вспоминайте про Therac-25. Там тоже кто-то решил сэкономить один байтик и записывать "x = true" как "INC X" вместо "MOV X, 1" для реализации примитивов синхронизации.
Еще реальнее?
Цитата Сообщение от accept Посмотреть сообщение
то есть его нет, потому что в нём нет необходимости
Цитата Сообщение от fasked Посмотреть сообщение
Тот же Торвальдс считает, что _Bool от лукавого и я с ним в этом плане согласен.
Мы говорим о разных вещах. Думаю, друг друга давно уже поняли.
castaway
Эксперт С++
4839 / 2978 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
04.09.2013, 21:19     Разница между С и С++ #125
Цитата Сообщение от accept Посмотреть сообщение
в C истина - это не ноль, там нет двух истин, там есть истина и ложь
Если придираться к словам, то истина соответствует условию >0<. Поэтому можно сказать что там есть и две истины, и даже больше.. А вот ложь, как раз бывает только одна, и это 0.

Цитата Сообщение от accept Посмотреть сообщение
цикл не может быть без тела
Почему-то я тоже немного другого мнения.. Разве можно назвать следующий цикл, циклом с телом: for ( ;; ); ? Его же там нет!?
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2013, 23:10     Разница между С и С++ #126
Цитата Сообщение от castaway Посмотреть сообщение
Разве можно назвать следующий цикл, циклом с телом: for ( ;; ); ? Его же там нет!?
есть, ты просто не знаешь, что такое оператор
; - это оператор, он находится в теле цикла

Цитата Сообщение от castaway Посмотреть сообщение
Если придираться к словам, то истина соответствует условию >0<. Поэтому можно сказать что там есть и две истины, и даже больше.
речь не про слова, а про понятия
в C есть истина и ложь, с точки зрения истинности значения 1, 2, 3 равны

Добавлено через 37 секунд
Цитата Сообщение от fasked Посмотреть сообщение
Еще реальнее?
ну да, реальный пример, где ты инкрементируешь логический тип
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
04.09.2013, 23:19     Разница между С и С++ #127
Цитата Сообщение от accept Посмотреть сообщение
есть, ты просто не знаешь, что такое оператор
; - это оператор, он находится в теле цикла
нет, это ты не знаешь, что такое оператор.
следуя твоей логике {} это тоже оператор в теле цикла
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2013, 23:31     Разница между С и С++ #128
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
следуя твоей логике {} это тоже оператор в теле цикла
фигурные скобки - это оператор
читай книги
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
04.09.2013, 23:34     Разница между С и С++ #129
Фигурные скобки — это утверждение. (Как и просто точка с запятой.) Тело цикла for должно быть утверждением. Читайте стандарт и словари.

/срач
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2013, 23:36     Разница между С и С++ #130
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Фигурные скобки — это утверждение.
чего ?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
04.09.2013, 23:37     Разница между С и С++ #131
Цитата Сообщение от accept Посмотреть сообщение
чего ?
Ок, тогда я жду аргументированного мнения, почему слово "statement" переводится на русский как "оператор".
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2013, 23:44     Разница между С и С++ #132
operator - операция
statement - оператор
expression - выражение
assert - утверждение

C89(draft) составной оператор

Код
3.6.2 Compound statement, or block

Syntax

          compound-statement:
                  {  declaration-list<opt> statement-list<opt> }

          declaration-list:
                  declaration
                  declaration-list declaration

          statement-list:
                  statement
                  statement-list statement

Semantics

   A compound statement (also called a block )allows a set of
statements to be grouped into one syntactic unit, which may have its
own set of declarations and initializations (as discussed in
$3.1.2.4).  The initializers of objects that have automatic storage
duration are evaluated and the values are stored in the objects in the
order their declarators appear in the translation unit.


Добавлено через 1 минуту
если бы вы читали K&R2, то таких вопросов не возникало бы и мнений
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
05.09.2013, 00:34     Разница между С и С++ #133
Цитата Сообщение от accept Посмотреть сообщение
чего ?
не чего, а просто утверждение.
В языке Си есть восклицание, есть вопрос, но чаще всего разговаривают утверждениями, чтобы процессор не оспаривал твои мысли.
castaway
05.09.2013, 00:44
  #134

Не по теме:

Ребят,.. я, конечно далеко не эксперт в Си и С++, но мне все же интересно узнать ответ, на вопрос, который нас так давно беспокоит... Я буду следить за темой, и, надеюсь, в конце все-таки увижу ответ на данный вопрос...
P.S.: извините если что-то говорил не по теме..

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,843
Записей в блоге: 2
Завершенные тесты: 1
05.09.2013, 05:48     Разница между С и С++ #135
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Фигурные скобки — это утверждение.
верно
Цитата Сообщение от accept Посмотреть сообщение
statement - оператор
и это верно!

Фигней уже страдаете - русский язык фигово подходит для подобных споров, согласитесь
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.09.2013, 10:37     Разница между С и С++ #136
Цитата Сообщение от castaway Посмотреть сообщение
Я буду следить за темой, и, надеюсь, в конце все-таки увижу ответ на данный вопрос...
Да нету ответа, кто как хочет так и понимает, как удобно так и понимают. Можно на С++ писать как на Си. Он в книге вычитал что можно писать на С++ и отказаться от классов, то результирующая программа будет такой же как на Си или COBOL, такой стиль в контексте проектов называют функциональной декомпозицией (functional decomposition). В связи с этим задают вопрос, а можно ли применять С++ в проектах основанных на функциональной декомпозиции? Можно конечно но в таком случае вы неизбежно придете к тому что язык С++ будет использоваться просто как улучшенный Си.

В общем С++ можно использовать как язык Си, как улучшеный Си, так что Си уже устарел.
Бендерродригез
05.09.2013, 10:51
  #137

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
так что Си уже устарел
Ой-вей. Сейчас набегут последователи культа С и ты узнаешь, почесу ты и С++ - ... А С жил, жив и будет жить.

accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.09.2013, 23:07     Разница между С и С++ #138
Цитата Сообщение от Croessmah Посмотреть сообщение
Фигней уже страдаете - русский язык фигово подходит для подобных споров
не, есть много русскоязычной литературы, переведённой профессионалами
вот её надо читать, чтобы не пороть потом
утверждение и оператор - это определённые понятия
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
05.09.2013, 23:36     Разница между С и С++ #139
Цитата Сообщение от ninja2 Посмотреть сообщение
так что Си уже устарел.
не надо зацикливаться на IBM PC и Windows
есть куча других платформ
например 8051 там ОЗУ всего 128 байт
куда плюсы впихнешь?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2013, 23:57     Разница между С и С++
Еще ссылки по теме:

Разница между программами C++
C++ В чем разница между X x; и X x()?
C++ В чем разница между [] и * ?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
05.09.2013, 23:57     Разница между С и С++ #140
Цитата Сообщение от accept Посмотреть сообщение
есть много русскоязычной литературы, переведённой профессионалами
Как правило, у каждого такого профессионала есть свое мнение на многие вещи.
Yandex
Объявления
05.09.2013, 23:57     Разница между С и С++
Ответ Создать тему
Опции темы

Текущее время: 09:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru