Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/62: Рейтинг темы: голосов - 62, средняя оценка - 4.92
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871

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

31.08.2013, 19:36. Показов 15590. Ответов 148
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если не брать во внимание объекты и классы, то разница состоит только лишь в cin, cout и директивах?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.08.2013, 19:36
Ответы с готовыми решениями:

Какая разница между различными сокетами (например, между 775 и 1155)?
Обясните пожалуйста какая разница между сокетами, пример есть сокет 775 и 1155 я понимаю что разем не тот процессора другие но! как насчет...

Разница между 64 и 32
Здравствуйте, уважаемые эксперты, недавно на ноутбуке умер жесткий диск, в сервсисе его сменили, и поставили виндоус 7 хоум премиум....

Разница между == и ===
Разница между == и ===. Как я понял два знака, это для разных типов тоже подходит "1"==1(True), а три знака только для однотипных...

148
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
04.09.2013, 00:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ValeryS Посмотреть сообщение
а зачем ввели?
Цитата Сообщение от fasked Посмотреть сообщение
Поэтому с точки зрения комитета _Bool довольно сильно отличается от char.
P.S.: если долго инкрементировать char возникнет переполнение, а это UB
Каждый раз, когда захочется использовать число для обозначения булевой величины, вспоминайте про Therac-25. Там тоже кто-то решил сэкономить один байтик и записывать "x = true" как "INC X" вместо "MOV X, 1" для реализации примитивов синхронизации. В итоге шесть трупов.
1
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
04.09.2013, 08:37
Цитата Сообщение от 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.
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
04.09.2013, 14:32
Цитата Сообщение от fasked Посмотреть сообщение
Какой заголовок? Если ты про stdbool, то он не дает define bool char
ты вообще знаешь, что тип _Bool ввели, а не bool, потому что пользователи уже используют bool в C ?
а знаешь, как его используют ? не сидят и не объявляют в каждом файле

Цитата Сообщение от fasked Посмотреть сообщение
Последний пример про NaN ты походу просто проигнорировал.
потому что этот пример ни про что
тебе говорят, приведи реальный пример, где происходит инкрементирование логического типа, либо приведение NaN к логическому типу
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
04.09.2013, 21:07
Цитата Сообщение от accept Посмотреть сообщение
тебе говорят, приведи реальный пример, где происходит инкрементирование логического типа
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Каждый раз, когда захочется использовать число для обозначения булевой величины, вспоминайте про Therac-25. Там тоже кто-то решил сэкономить один байтик и записывать "x = true" как "INC X" вместо "MOV X, 1" для реализации примитивов синхронизации.
Еще реальнее?
Цитата Сообщение от accept Посмотреть сообщение
то есть его нет, потому что в нём нет необходимости
Цитата Сообщение от fasked Посмотреть сообщение
Тот же Торвальдс считает, что _Bool от лукавого и я с ним в этом плане согласен.
Мы говорим о разных вещах. Думаю, друг друга давно уже поняли.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
04.09.2013, 21:19
Цитата Сообщение от accept Посмотреть сообщение
в C истина - это не ноль, там нет двух истин, там есть истина и ложь
Если придираться к словам, то истина соответствует условию >0<. Поэтому можно сказать что там есть и две истины, и даже больше.. А вот ложь, как раз бывает только одна, и это 0.

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

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

Добавлено через 37 секунд
Цитата Сообщение от fasked Посмотреть сообщение
Еще реальнее?
ну да, реальный пример, где ты инкрементируешь логический тип
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
04.09.2013, 23:19
Цитата Сообщение от accept Посмотреть сообщение
есть, ты просто не знаешь, что такое оператор
; - это оператор, он находится в теле цикла
нет, это ты не знаешь, что такое оператор.
следуя твоей логике {} это тоже оператор в теле цикла
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
04.09.2013, 23:31
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
следуя твоей логике {} это тоже оператор в теле цикла
фигурные скобки - это оператор
читай книги
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
04.09.2013, 23:34
Фигурные скобки — это утверждение. (Как и просто точка с запятой.) Тело цикла for должно быть утверждением. Читайте стандарт и словари.

/срач
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
04.09.2013, 23:36
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Фигурные скобки — это утверждение.
чего ?
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
04.09.2013, 23:37
Цитата Сообщение от accept Посмотреть сообщение
чего ?
Ок, тогда я жду аргументированного мнения, почему слово "statement" переводится на русский как "оператор".
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
04.09.2013, 23:44
operator - операция
statement - оператор
expression - выражение
assert - утверждение

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

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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, то таких вопросов не возникало бы и мнений
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
05.09.2013, 00:34
Цитата Сообщение от accept Посмотреть сообщение
чего ?
не чего, а просто утверждение.
В языке Си есть восклицание, есть вопрос, но чаще всего разговаривают утверждениями, чтобы процессор не оспаривал твои мысли.
0
05.09.2013, 00:44

Не по теме:

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

0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
05.09.2013, 05:48
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Фигурные скобки — это утверждение.
верно
Цитата Сообщение от accept Посмотреть сообщение
statement - оператор
и это верно!

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

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

Решение

Не по теме:

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

3
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
05.09.2013, 23:07
Цитата Сообщение от Croessmah Посмотреть сообщение
Фигней уже страдаете - русский язык фигово подходит для подобных споров
не, есть много русскоязычной литературы, переведённой профессионалами
вот её надо читать, чтобы не пороть потом
утверждение и оператор - это определённые понятия
1
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
05.09.2013, 23:36
Цитата Сообщение от ninja2 Посмотреть сообщение
так что Си уже устарел.
не надо зацикливаться на IBM PC и Windows
есть куча других платформ
например 8051 там ОЗУ всего 128 байт
куда плюсы впихнешь?
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
05.09.2013, 23:57
Цитата Сообщение от accept Посмотреть сообщение
есть много русскоязычной литературы, переведённой профессионалами
Как правило, у каждого такого профессионала есть свое мнение на многие вещи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.09.2013, 23:57

Разница между 42.1 и 13.2?
Смотрел на сайте две версии 42.1 только 64 битные, а 13.2 и 32 и 64, но разницы не могу понять, что только биты? Добавлено через 2...

разница между C# и C++
Здравствуйте! Может ли кто-нибудь досказать по пунктам разницу между C++ и C# их приоритеты

Разница между
Разница между gameObject и GameObject?

Разница между * и all
В чем разница между select * from table1 и select all &lt;список_полей&gt; from table1? Именно в пределах данной конструкции. Почему, если я...

Разница между != и <>?
есть ли разница между операторами != и &lt;&gt;, или они полностью эквивалентны? или &lt;&gt; это эквивалент !== в javascript?


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

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru