Різниця між C і C ++ з прикладами | Мови програмування

Ключова різниця: C та C ++ - це два різних мови комп'ютерного програмування. C ++ був розроблений з мови програмування С; однак вони мають різний характер. Найбільш очевидною відмінністю є те, що C - це мова, орієнтована на процедури, тоді як C ++ підтримує як процедурне, так і об'єктно-орієнтоване програмування, тому його часто називають гібридною.

C і C ++ є двома різними мовами комп'ютерного програмування. C був спочатку розроблений Деннісом Рітчі в лабораторіях AT&T Bell між 1969 і 1973 роками. C ++ - інша мова програмування загального призначення. Він був розроблений з оригінальної мови програмування C. Він був розроблений Бьорном Страуструпом у Bell Labs, починаючи з 1979 року. C ++ спочатку називався C з 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 ++ використовує нові та видаляє. C використовує scanf () і printf () для введення і виведення, в той час як C ++ використовує cin >> і cout << оператори. C підтримує інструмент GTK для програмування графічного інтерфейсу, тоді як C ++ підтримує інструменти Qt для програмування графічного інтерфейсу. Інша відмінність полягає в тому, що C вимагає, щоб було оголошено всі змінні у верхній частині програми, тоді як в C ++ змінні можуть бути оголошені в будь-якому місці програми.

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

Порівняння між C і C ++:

C

C ++

Заснований

Розроблено Деннісом Рітчі в лабораторіях AT&T Bell між 1969 і 1973 роками.

Розроблено Бьярном Страуструпом у Bell Labs, починаючи з 1979 року.

Вихідний код

Вихідний код програми у вільному форматі

Спочатку розроблений з мови програмування C.

Мова

Процедура Орієнтована мова

Підтримує як процедурні, так і об'єктно-орієнтовані парадигми програмування; тому його часто називають гібридною.

Підхід

Дотримується підходу зверху вниз.

Слідує підходу знизу вгору.

Відносини

C - підмножина C ++. Він не може працювати з кодом C ++.

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

Диск

Функціонально-мова

Об'єктно-мовна мова

Фокус

Зосереджується на методі або процесі, а не на даних.

Зосереджується на даних, а не на методі чи процедурах.

Будівельні блоки

Функції

Об'єкти

Ключові слова

Містить 32 ключові слова

Містить 52 ключові слова

Концепції OOPS

Оскільки мова "C" є мовою, орієнтованою на процедури, вона не підтримує такі концепції OOPS, як клас, об'єкт, спадкування, поліморфізм, приховування даних і т.д.

Як об'єктно-орієнтована мова, C ++ підтримує клас, об'єкт, приховування даних, поліморфізм, успадкування, абстракцію тощо.

Функції

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

Функції пам'яті

Використовує функції calloc (), malloc () і free () для розподілу та вилучення пам'яті.

Використовує оператори new та delete для тієї ж мети.

Інкапсуляція

Не підтримує. Дані та функції є окремими та вільними об'єктами.

Підтримує інкапсуляцію. Дані та функції інкапсульовані разом у вигляді об'єкта. Клас об'єктів надає план структури об'єкта.

Приховування інформації

C не підтримує приховування інформації. Тут дані є вільними об'єктами і можуть маніпулюватися зовнішнім кодом.

Інкапсуляція приховує дані, щоб гарантувати, що структури даних і оператори використовуються за призначенням.

Дані

Підтримує вбудовані та примітивні типи даних.

Дані не захищені внаслідок не-об'єктної орієнтації

Підтримуються як вбудовані, так і користувацькі типи даних.

Дані захищені (приховані) у C ++

Рівень

Мова низького рівня

Мова середнього рівня

Введення-виведення

Мова 'C' використовує scanf () і printf () для введення і виведення.

Мова "C ++" використовує оператори cin >> і cout << для введення і виведення.

Декларація змінних

C вимагає оголошення всіх змінних у верхній частині програми.

У C ++ змінні можуть бути оголошені в будь-якому місці програми перед використанням.

Кілька декларацій

Допускається багатократна декларація глобальних змінних.

Не допускається багатократна декларація глобальних змінних.

Зіставлення

Картування між даними та функціями є складним і складним.

Відображення між даними та функцією можна використовувати за допомогою "Об'єктів"

Програмування графічного інтерфейсу

C підтримує інструмент GTK для програмування графічного інтерфейсу

C ++ підтримує інструменти Qt для програмування графічного інтерфейсу

Успадкування

Успадкування в C неможливе

Успадкування можливе в C ++

Розширення файлу

Має розширення .c

Має розширення .cpp

Файл заголовок за умовчанням

Файл заголовка за замовчуванням, що використовується на мові C, є stdio.h

Файл заголовка за замовчуванням, що використовується в C ++, є iosteam.h

Деякі приклади різниці між C і 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);

безкоштовно (x_array);

Видалити:

delete x;

delete [] x_array;

Рекомендуємо

Схожі Статті

  • популярні порівняння: Різниця між дружиною і господинею

    Різниця між дружиною і господинею

    Ключова різниця: Дружина є партнером чоловіка у шлюбі. Господиня - жінка, яка продовжує позашлюбні сексуальні стосунки з чоловіком. Дружина - партнерка в постійних шлюбних стосунках. Її також можна назвати дружиною. Жінка в день свого весілля описується як наречена і після весільної церемонії; вона описується як дружина. Чоловічий
  • популярні порівняння: Різниця між рестораном і кафетером

    Різниця між рестораном і кафетером

    Ключова різниця: Ресторан - це заклад, який готує і подає їжу разом з акцентом на службу. Кав'ярня також є закладом харчування, який може або не може запропонувати місце для відпочинку. Харчування стало частиною нашої культури. Для будь-якого випадку люди вибирають, щоб поїсти. У будь-який день, коли ви не відчуваєте, що готуєтесь,
  • популярні порівняння: Різниця між судом Клей і Судом Грасса

    Різниця між судом Клей і Судом Грасса

    Ключова різниця: теніс грається переважно на чотирьох судах; серед них є глиняний двір і трав'яний двір. Як випливає з назви, глиняний двір складається з глини, тоді як трав'яний двір складається з трави. Згідно з Вікіпедією: «Суд з глини є одним з чотирьох різних типів тенісних кортів. Глиняні корти виготовляють з подрібнених сланців, каменю або цегли ”. Корти для
  • популярні порівняння: Різниця між метро та метрополітеном

    Різниця між метро та метрополітеном

    Ключова різниця: столичне місто відноситься до густонаселеного міста, який добре пов'язаний з його приміськими районами, тоді як метрополітен або метрополіс складається з столичного міста, а також включає в себе пов'язані з ним околиці та вигоди. Столичне місто відноситься до густонаселеного міста, який економічно і соціально добре пов'язаний з його приміськими районами, тоді як метро або метрополіс складається з густонаселеного міського ядра
  • популярні порівняння: Різниця між ківі і австралійським акцентом

    Різниця між ківі і австралійським акцентом

    Ключові відмінності: Перші англомовні поселенці Нової Зеландії були австралійськими мисливцями з тюремної колонії Порт-Джексона (Сідней). Австралійська англійська мова є сумішшю англійської та американської англійської мови. Цей акцент в основному чується в Південній Австралії, Вікторії та Західній Австралії. Акцент - це термін, який зазвичай чується в лінгвістиці. Акцент належить до певного способу розмовляти мов
  • популярні порівняння: Різниця між керамікою та керамікою

    Різниця між керамікою та керамікою

    Ключова різниця: Кераміка - це загальний термін, що включає кераміку. Кераміка - це робота початкового рівня. Кераміка - це вища професійна робота. Кераміка і кераміка використовуються як взаємозамінні, що не є проблемою, оскільки між словами є невелика різниця. Обидві слова відносяться до форми мистецтва, яка формує і формує глину. Однак, технічно кажучи, слово кераміка є більш загальним терміном і включає термін кераміка. Кераміка відноситься до використання глини, щоб
  • популярні порівняння: Різниця між йогуртом і Dahi

    Різниця між йогуртом і Dahi

    Ключова різниця: похідні в подібних стилях, йогурт і дахи є молочними продуктами, які використовуються і споживаються широко. Примітною різницею між цими двома є те, що йогурт готується пастеризуючим молоком, тоді як Dahi готується кип'ятінням молока, потім охолоджується до кімнатної температури, і, нарешті, додає до нього м'який кислий сир попереднього дня. Йогурт - це молочний продукт, який готується шляхом ферментації молока шляхом індукції в ньому йогуртних культур. Ці йогуртні культури або живі культури - не що інше, як бактерії, що використовуються у виробництві йогурту. Будучи пр
  • популярні порівняння: Різниця між фронт-офіс-виконавцем і портьє

    Різниця між фронт-офіс-виконавцем і портьє

    Ключова різниця: виконавчий відділ фронт-офісу та приймальник мають таку ж роботу. Представником фронт-офісу є людина, яка працює в офісі компанії, контролюючи різноманітні завдання або керівний персонал. Приймальник - це людина, яка працює на телефон, відвідує гостей, клієнтів і т. Д. Технічно не існує фактичної різниці між ними, окрім назви. Перше враження є надзвичайно
  • популярні порівняння: Різниця між нянькою і дівчинкою

    Різниця між нянькою і дівчинкою

    Ключова різниця: няня відноситься до особи, яка працює, щоб піклуватися про дітей у домогосподарстві. Донечка, як правило, підготовлена ​​жінка. Покоївка - це людина, яка працює для надання допомоги в домашніх справах. Покоївка завжди жінка. Няня відноситься до особи, яка працює, щоб піклуватися про дітей у домогосподарстві. Донечка, як правило, підготовлена ​​жінка. Няня може бути найнята на н

Вибір Редакції

Різниця між QA та тестуванням

Ключова різниця : забезпечення якості та тестування часто змішуються. Забезпечення якості вивчає виробничий процес і визначає дефект у виробничому процесі, тоді як тестування - це процес перевірки продукту на різних етапах, щоб утримувати дефектні елементи від замовника. Термін QA означає "Забезпечення якості". ОК - це процес або набір процесів, які використовуються для вимірювання та забезпечення якості продукту. Це процес, орієнтований. Метою забезпечення якості є вдосконалення та р