183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
1

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

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

Author24 — интернет-сервис помощи студентам
Если не брать во внимание объекты и классы, то разница состоит только лишь в cin, cout и директивах?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2013, 19:36
Ответы с готовыми решениями:

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

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

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

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

148
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
01.09.2013, 13:28 61
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от dr.curse Посмотреть сообщение
компилятор msvc?
А причем тут компилятор?
0
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
01.09.2013, 13:31 62
Цитата Сообщение от Croessmah Посмотреть сообщение
А причем тут компилятор?
просто в с99 уже необязательно обявлять переменные в начале функции, а msvc его не поддерживает. Про версии >2010 уже точно сказать немогу
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
01.09.2013, 13:31 63
Цитата Сообщение от Убежденный Посмотреть сообщение
- требование размещать переменные в начале функций;
да про это то я и забыл
Цитата Сообщение от Убежденный Посмотреть сообщение
C90, если что.
пишу на Keil с ключом -c99, но тоже не переваривает объявления переменных где попало
не знаю возможно ли это в 99 или нет?
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.09.2013, 13:32 64
В Visual C++ поддержка plain C на уровне C90. Причем что-то принципиально
менять здесь никто не собирается: Reader Q&A: What about VC++ and C99?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
01.09.2013, 13:32 65
Цитата Сообщение от dr.curse Посмотреть сообщение
просто в с99 уже необязательно обявлять переменные в начале функции,
не успел написать, уже ответили
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
01.09.2013, 13:33 66
А, ну и небольшая поправка: переменные даже в C89 не обязательно объявлять в начале функции. Можно объявлять в начале блока (но об этом часто забывают рассказать преподаватели, читающие с бумажки).
0
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
01.09.2013, 13:34 67
Цитата Сообщение от ValeryS Посмотреть сообщение
не знаю возможно ли это в 99 или нет?
из вики
Место, в котором возможно объявление переменных, больше не ограничено глобальной областью видимости и началом составного оператора (блока)
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
01.09.2013, 13:34 68
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
При том, что MSVS это или Си++, или C89.
Другими словами, это зависит не от компилятора, а от поддерживаемого компилятором стандарта.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
01.09.2013, 13:36 69
Цитата Сообщение от dr.curse Посмотреть сообщение
из вики
но Keil как то наплевал на это даже с ключом совместимости
0
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
01.09.2013, 13:36 70
Цитата Сообщение от ValeryS Посмотреть сообщение
но Keil как то наплевал на это даже с ключом совместимости
а написано что он полностью поддерживает с99?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
01.09.2013, 13:38 71
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
А, ну и небольшая поправка: переменные даже в C89 не обязательно объявлять в начале функции. Можно объявлять в начале блока (
вот это
C++
1
for(int i=0......
начало блока или нет?
тот же Keil( ну нету у меня других чисто Сишных компиляторов) дает ошибку
0
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
01.09.2013, 13:39 72
ValeryS, keil не поддерживает с99 полностью вот из офф сайта
Compilers from Keil support some functionality of the ISO/IEC 9899:1999 standard as specified in:
Добавлено через 20 секунд
Цитата Сообщение от ValeryS Посмотреть сообщение
for(int i=0......
помоему нет
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.09.2013, 13:39 73
Кстати да, VC++ в режиме "C" тоже эту конструкцию не переваривает.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
01.09.2013, 13:39 74
Цитата Сообщение от dr.curse Посмотреть сообщение
а написано что он полностью поддерживает с99?
честно говоря, не знаю
как то не заморачивался, код хороший генерит и ладно
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
01.09.2013, 13:40 75
Цитата Сообщение от ValeryS Посмотреть сообщение
вот это
C++
1
for(int i=0......
начало блока или нет?
тот же Keil( ну нету у меня других чисто Сишных компиляторов) дает ошибку
Эта "фича" появилась со стандартом С99. Разумеется это не блок. Это определение переменной в цикле.
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
01.09.2013, 13:40 76
Цитата Сообщение от ValeryS Посмотреть сообщение
вот это
C++
1
for(int i=0......
начало блока или нет?
тот же Keil( ну нету у меня других чисто Сишных компиляторов) дает ошибку
Нет. Начало блока — это открывающая фигурная скобка.
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void)
{
    int x = 0;
    printf("%d\n", x);
 
    {
        int y = 5;
        printf("%d\n", y);
    }
}
Код
$ gcc -pedantic c.c
$ ./a.out
0
5
0
ValeryS
01.09.2013, 13:41
  #77

Не по теме:

dr.curse, ты как то на упреждение работаешь:)
я не успеваю написать, а ты уже ответил:)

0
dr.curse
01.09.2013, 13:42
  #78

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
упреждение
извени а что такое упреждение?

0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
01.09.2013, 13:42 79
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Нет.
ну понятно
но некоторые пишут что тело цикла есть блок
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Начало блока — это открывающая фигурная скобка.
это как бы понятно
0
castaway
01.09.2013, 13:43     Разница между С и С++
  #80

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
dr.curse, ты как то на упреждение работаешь
я не успеваю написать, а ты уже ответил
Просто он провидец. Ему надо отвечать на темы типа: "Почему не работает программа?"
Наверняка он знал что я это напишу...
Это шутка. Без обид.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2013, 13:43

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru