Різниця між 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;

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

Схожі Статті

  • різниця між: Різниця між Alcatel One Touch Idol Ultra і Samsung Galaxy Grand

    Різниця між Alcatel One Touch Idol Ultra і Samsung Galaxy Grand

    Основна відмінність: Alcatel One Touch Idol Ultra має 4, 65 дюймовий HD AMOLED сенсорний екран з роздільною здатністю 720 x 1280 пікселів. Телефон працює від двоядерного 1, 2 ГГц процесора на MediaTek MTK 6577 і 1 Гб оперативної пам'яті. Телефон має ширину 6, 45 мм, що привело компанію до проникнення її в якості найтоншого смартфона на ринку. Samsung Galaxy Grand -
  • різниця між: Різниця між DSP і процесором Arm

    Різниця між DSP і процесором Arm

    Ключова різниця: Обидва процесора DSP і ARM - це типи мікропроцесорів. Мікропроцесор - це кремнієвий чіп, який містить центральний процесор (CPU) пристрою. Процесори ARM базуються на проектування RISC комп'ютерних процесорів. Мікропроцесори RISC зазвичай використовуються для загального використання. Процесор DSP - це інший тип мікропроцесора. DSP означає цифрову обробку сигналів. Це в основн
  • різниця між: Різниця між багато і дуже

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

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

    Різниця між ціллю і метою

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

    Різниця між мозком, розумом і психікою

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

    Різниця між почуттями та емоціями

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

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

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

    Різниця між вольтами і ватами

    Ключова різниця: вольти і вати є одиницями вимірювання. Вольт (V) - це вихідна одиниця вимірювання напруги в СІ. Вольт вимірюється за допомогою вольтметра. Watts (W), з іншого боку, є виведеною одиницею вимірювання SI для потужності. Ват названий на честь шотландського інженера Джеймса Ватта. SI - це Міжнародна система одиниць, що є міжнародно визнаними та використаними одиницями вимірювання. Вольти і вати
  • різниця між: Різниця між номером ABA та номером маршрутизації

    Різниця між номером ABA та номером маршрутизації

    Ключова різниця: Номер Американської асоціації банкірів (ABA) - це ідентифікаційний номер, який з'являється у верхньому правому куті чека у вигляді дробу. Номер використовується для визначення місця розташування банку та кодового банку, а також району та банку, на якому він оформлений. Іншим кодом, який присутній на перевірці, є ABA Routing Number, також відомий як Ruting Transit Number (RTN). Це дев'ятизначний код, який розташований у нижньому лівому куті чека і передує транзитному символу '|:'. Аби п

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

Різниця між віссю і орбітою

Ключова різниця: вісь - це уявна лінія через північний і південний полюси, на яких обертається Земля. Орбіта - це криволінійна траєкторія, взята об'єктом навколо зірки, планети, місяця тощо. Оксфордські словники визначають Axis як, Уявна лінія, про яку обертається тіло: Земля обертається на своїй осі раз на 24 години. У геометрії уявна прям