Разница между C и C ++ с примерами | Языки программирования

Основное различие: C и C ++ - два разных языка программирования. C ++ был разработан на языке программирования C; однако они весьма различны по своей природе. Наиболее очевидным отличием является то, что C является языком, ориентированным на процедуры, тогда как C ++ поддерживает как процедурное, так и объектно-ориентированное программирование, поэтому его часто называют гибридным языком.

C и C ++ - это два разных языка программирования. Первоначально C был разработан Деннисом Ритчи в AT & T Bell Labs в период с 1969 по 1973 год. C ++ - еще один универсальный язык программирования. Он был разработан с оригинального языка программирования Си. Он был разработан Бьярном Страуструпом в Bell Labs, начиная с 1979 года. C ++ первоначально назывался C with Classes, так как он был основан на C. Он был переименован в C ++ в 1983 году.

C является одним из старейших в настоящее время используемых языков программирования и является одним из наиболее широко используемых языков программирования. Он постоянно использовался в приложениях, которые ранее кодировались на ассемблере. Это включает в себя компьютерную операционную систему UNIX. C также прямо или косвенно влияет на многие более поздние языки программирования, такие как C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python и оболочка C Unix. Несмотря на все эти новые языки, C по-прежнему остается популярным языком программирования.

Изначально C ++ начинался как усовершенствование C. Он был разработан для совместимости исходного кода и ссылок с C. Однако он добавил классы, виртуальные функции, перегрузку операторов, множественное наследование, шаблоны, обработку исключений и т. Д. В конце концов, он разработал достаточно, чтобы считаться языком программирования сам по себе. Первоначально он был ратифицирован в 1998 году как сертифицированный язык программирования ISO / IEC 14882: 1998. Сегодня C ++ сейчас широко используется для проектирования оборудования.

C - это язык программирования общего назначения, в котором точка с запятой (;) используется как терминатор оператора, а также фигурные скобки ({}) для группировки блоков операторов. Он имеет средства для структурного программирования, а его конструкция обеспечивает конструкции, которые могут эффективно отображаться в типичные машинные инструкции. Он также допускает область действия и рекурсию лексических переменных и имеет статическую систему типов, которая предотвращает многие непреднамеренные операции.

Однако, по сравнению с C ++, C имеет многочисленные ограничения. Поскольку C не является объектно-ориентированным, он не поддерживает концепции OOPS. C не поддерживает перегрузку функций и операторов. Он не может использовать функции внутри структур. Он не поддерживает виртуальные функции и ссылочные переменные или обработку исключений. Он также не поддерживает ссылочные переменные. Кроме того, C также не инкапсулирует и не защищает данные. Для сравнения, C ++ поддерживает все эти функции.

Кроме того, C не поддерживает функцию NAMESPACE, в то время как C ++ поддерживает. Пространство имен - это определенная область, которая позволяет группировать идентификаторы (имена типов, функций, переменных и т. Д.). Пространства имен могут затем использоваться для организации кода в логические группы и предотвращения конфликтов имен. Это особенно полезно, когда база кода включает в себя несколько библиотек, что в идеале делает код подверженным конфликтам имен.

Эти два языка также различаются по способу работы с адресной памятью, ввода-вывода и программирования GUI. Например, C использует функции calloc (), malloc () и free () для выделения и освобождения памяти, в то время как C ++ использует new и delete. C использует scanf () и printf () для ввода и вывода, в то время как C ++ использует операторы cin >> и cout <<. C поддерживает инструмент GTK для программирования GUI, тогда как C ++ поддерживает инструменты Qt для программирования GUI. Другое отличие состоит в том, что C требует, чтобы один объявил все переменные в начале программы, тогда как в C ++ переменные могут быть объявлены где угодно в программе.

Кроме того, C ++ обычно считается более легким в освоении, поскольку он более удобен для пользователя, чем C. C ++ также имеет множество дополнительных функций, облегчающих кодирование, особенно для тех, кто является новичком в C-среде. Однако многие утверждают, что это действительно имеет значение. Два языка отличаются настолько сильно, что фактически могут быть двумя разными языками, независимыми друг от друга. Следует иметь в виду, что C гораздо более структурирован, чем C ++, тогда как C ++ был разработан, чтобы быть более выразительным и абстрактным, чем C.

Сравнение между C и C ++:

С

C ++

основанный

Разработано Деннисом Ритчи в AT & T Bell Labs с 1969 по 1973 год.

Разработано Бьярном Страуструпом в Bell Labs с 1979 года.

Исходный код

Исходный код программы в произвольном формате

Первоначально разработано на языке программирования C

язык

Процедурно-ориентированный язык

Поддерживает как процедурные, так и объектно-ориентированные парадигмы программирования; поэтому его часто называют гибридным языком.

Подход

Следует нисходящему подходу.

Следует подход снизу вверх.

отношения

C является подмножеством C ++. Он не может запустить код C ++.

C ++ является надмножеством C. C ++ может выполнять большую часть кода C, в то время как C не может выполнять код C ++.

Привод

Функционально-управляемый язык

Объектно-управляемый язык

фокус

Ориентирован на метод или процесс, а не на данные.

Ориентирован на данные, а не на метод или процедуру.

Строительные блоки

функции

Объекты

Ключевые слова

Содержит 32 ключевых слова

Содержит 52 ключевых слова

ООП Концепции

Поскольку язык «C» является процедурно-ориентированным языком, он не поддерживает такие понятия OOPS, как класс, объект, наследование, полиморфизм, скрытие данных и т. Д.

Как объектно-ориентированный язык, C ++ поддерживает класс, объект, сокрытие данных, полиморфизм, наследование, абстракцию и т. Д.

функции

  • Не поддерживает перегрузку функций и операторов.
  • Невозможно использовать функции внутри структур
  • Не поддерживает виртуальные функции и ссылочные переменные
  • Не поддерживает обработку исключений
  • не поддерживает ссылочные переменные
  • не имеет функции пространства имен
  • может вызывать функцию main () через другие функции
  • Поддерживает перегрузку функций и операторов.
  • Может использовать функции внутри структур
  • Поддерживает виртуальные функции и ссылочные переменные.
  • Поддерживает обработку исключений с использованием блоков try и catch. Исключения используются для «серьезных» ошибок, которые делают код некорректным.
  • поддерживает ссылочные переменные
  • использует функцию NAMESPACE, которая позволяет избежать конфликтов имен.
  • не может вызвать функцию main () через другие функции.

Функции памяти

Использует функции calloc (), malloc () и free () для выделения и освобождения памяти.

Использует операторы new и delete для той же цели.

Инкапсуляция

Не поддерживается. Данные и функции являются отдельными и свободными объектами.

Поддерживает инкапсуляцию. Данные и функции инкапсулированы вместе в форме объекта. Класс объектов обеспечивает план структуры объекта.

Сокрытие информации

C не поддерживает скрытие информации. Здесь данные являются свободными объектами и могут управляться внешним кодом.

Инкапсуляция скрывает данные, чтобы гарантировать, что структуры данных и операторы используются по назначению.

Данные

Поддерживает встроенные и примитивные типы данных.

Данные не защищены из-за не объектно-ориентированного

Поддерживает как встроенные, так и определяемые пользователем типы данных.

Данные защищены (скрыты) в C ++

уровень

Язык низкого уровня

Язык среднего уровня

Ввод, вывод

Язык 'C' использует scanf () и printf () для ввода и вывода.

В языке C ++ для ввода и вывода используются операторы cin >> и cout <<.

Объявление переменных

C требует, чтобы один объявил все переменные в верхней части программы.

В C ++ переменные могут быть объявлены в любом месте программы перед использованием.

Многократная декларация

Допускается многократное объявление глобальных переменных.

Многократное объявление глобальных переменных не допускается.

картографирование

Отображение между данными и функциями сложно и сложно.

Сопоставление данных и функций можно использовать с помощью «Объектов».

GUI программирование

C поддерживает GTK инструмент для программирования GUI

C ++ поддерживает инструменты Qt для программирования GUI

наследование

Наследование не возможно в C

Наследование возможно в C ++

Расширение файла

Имеет расширение файла .c

Имеет расширение файла .cpp

Заголовочный файл по умолчанию

Заголовочный файл по умолчанию, используемый на языке C, это stdio.h

Заголовочный файл по умолчанию, используемый в C ++, это iosteam.h

Некоторые примеры различий между C и C ++:

Примеры

С

C ++

Объявление переменной

Только наверху:

Int I;

для (i = 10; i <10; i ++)

В любом месте программы:

для (int i = 10; i <10; i ++)

Выделение памяти

Malloc:

int * x = malloc (sizeof (int));

int * x_array = malloc (sizeof (int) * 10);

Новое:

int * x = new int;

int * x_array = new int [10];

Освобождение памяти

Свободно:

бесплатно (х);

бесплатно (x_array);

Удалять:

удалить х;

удалить [] x_array;

Рекомендуем

Похожие статьи

  • популярные сравнения: Разница между счетом денежного рынка и сберегательным счетом

    Разница между счетом денежного рынка и сберегательным счетом

    Ключевое отличие: счет денежного рынка - это сберегательный счет с более высокой доходностью, который обеспечивает более высокую доходность денежных средств на счете. На сберегательном счете банк может использовать деньги только для предоставления кредитов другим людям. На счете денежного рынка деньги исп
  • популярные сравнения: Разница между мясом и бараниной

    Разница между мясом и бараниной

    Ключевое различие : мясо - это общий термин, используемый для мяса всех животных, в то время как баранина - это вид мяса, который получают из овец и коз. Мясо - это обобщенный термин, используемый для обозначения мяса животных. Эта категория состоит из мяса животных, таких как свиньи, крупный рогатый скот, ягнята и т. Д. Баранина, с другой стороны, является видом мяса, который получают из овец и коз. Мя
  • популярные сравнения: Разница между соусом и кетчупом

    Разница между соусом и кетчупом

    Ключевое отличие: в современном контексте под соусом понимается жидкое или полужидкое вещество, которое подается с едой или добавляется во многие блюда для добавления влаги и аромата. Кетчуп - это соус, который в основном используется в контексте с соусом из помидоров и используется в качестве приправы. Соус и кетчуп в основном использ
  • популярные сравнения: Разница между протоколами IMAP и MAPI

    Разница между протоколами IMAP и MAPI

    Ключевое отличие: IMAP обозначает протокол доступа к сообщениям в Интернете. IMAP был первоначально разработан в 1986 году в Стэнфордском университете. Это протокол клиент / сервер. Полученные электронные письма хранятся на интернет-сервере. Он может работать даже на медленном соединении, таком как модем. MAPI расшифро
  • популярные сравнения: Разница между регистрацией автомобилей и страховкой

    Разница между регистрацией автомобилей и страховкой

    Основное различие: регистрация автомобиля - это юридическая декларация, в которой указывается, кому принадлежит автомобиль. Эта декларация хранится в архиве правительства, которое затем может отследить владельцев автомобиля. С другой стороны, страхование автомобиля - это вид страхования, который защищает владельца автомобиля от финансовых потерь в случае происшествия, связанного с транспортным средством, наприме
  • популярные сравнения: Разница между RISC и CISC

    Разница между RISC и CISC

    Ключевое различие : Основное различие между RISC и CISC заключается в количестве вычислительных циклов, выполняемых каждой из их инструкций. Разница в количестве циклов основана на сложности и цели их инструкций. Термин RISC означает «Компьютер с сокращенным набором инструкций». Это стратегия проектирования процессора, основанная на простых инструкциях и высокой производительност
  • популярные сравнения: Разница между Windows Vista 32-битной и 64-битной

    Разница между Windows Vista 32-битной и 64-битной

    Ключевое отличие: Vista 64-bit - это расширенная версия 32-bit. Биты относятся к тому, как процессор обрабатывает / сортирует данные. 64-разрядный процессор способен обрабатывать большие объемы данных по сравнению с 32-разрядным. 32-разрядная версия имеет ограничение 4 ГБ ОЗУ, а 64-разрядная - нет. Windows Vista - это операционная система, коммерчески выпущенная корпорацией Microsoft в 2007 году
  • популярные сравнения: Разница между геем и импотентом

    Разница между геем и импотентом

    Ключевое отличие: гей - это термин, который обычно используется для обозначения гомосексуалистов. Принимая во внимание, что импотент - это термин, используемый для людей, которые не могут размножаться и имеют удовлетворительные половые отношения. Гей - это термин, который используется вместо гомосексуалистов. Это люди, которых сексуально привлекают другие люди того же пола. Гомосексуалистов обычно называют лесбиянками для женщин и геями для мужчин
  • популярные сравнения: Разница между рисовым молоком и соевым молоком

    Разница между рисовым молоком и соевым молоком

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

Выбор редакции

Разница между ягнятами и овцами

Ключевое отличие: овцы - это тип одомашненных животных, которых часто держат на молоко, шерсть и мясо. Они были одними из первых животных, которые были одомашнены. По сути, единственное различие между ягнятами и овцами заключается в том, что ягнятами являются молодые овцы, особенно овцы младше одного года. По прошествии одного года ягненок считается сексуально активным и официально считается овцой. Овцы - это тип одомашненных животных, которых часто держат на молоко, шерсть и мясо. Они были одними из первых животных, которые были одомашнены. Они покор