例によるCとC ++の違い プログラミング言語

主な違い: CとC ++は2つの異なるコンピュータプログラミング言語です。 C ++はCプログラミング言語から開発されました。 しかし、それらは性質がかなり異なります。 最も明白な違いは、Cは手続き指向言語であるのに対し、C ++は手続き型プログラミングとオブジェクト指向プログラミングの両方をサポートしているため、ハイブリッド言語と呼ばれることが多いことです。

CとC ++は2つの異なるコンピュータプログラミング言語です。 Cはもともと1969年から1973年の間にAT&T Bell LabsでDennis Ritchieによって開発されました。C++は別の汎用プログラミング言語です。 それはオリジナルのCプログラミング言語から開発されました。 それは1979年からベル研究所でBjarne Stroustrupによって開発されました。それはCに基づいていたので、もともとC with Classesと呼ばれました。それは1983年にC ++に改名されました。

Cは、現在最も古いプログラミング言語の1つであり、最も広く使用されているプログラミング言語の1つです。 以前はアセンブリ言語でコーディングされていたアプリケーションで常に使用されています。 これには、UNIXコンピュータのオペレーティングシステムが含まれます。 また、Cは、C#、D、Go、Java、JavaScript、Limbo、LPC、Perl、PHP、Python、およびUnixのCシェルなど、多くの最新のプログラミング言語に直接または間接的に影響を与えています。 これらの新しい言語にもかかわらず、Cは依然として人気のあるプログラミング言語です。

C ++はもともとCの拡張として始まりました。それはCとソースとリンクの互換性を持つように設計されました。しかし、それはクラス、仮想関数、演算子オーバーロード、多重継承、テンプレート、例外処理などを追加しました。それ自体でプログラミング言語と見なされるのに十分です。 それはもともとISO / IEC 14882:1998認定プログラミング言語として1998年に承認されました。 今日、C ++は現在ハードウェア設計に広く使用されています。

Cは、ステートメント終了記号としてセミコロン(;)を使用し、ステートメントのブロックをグループ化するための中括弧({})を使用する汎用プログラミング言語です。 それは構造化プログラミングのための機能を持ち、その設計は典型的な機械語命令に効率的にマッピングできる構造を提供します。 また、字句変数のスコープと再帰を可能にし、多くの意図しない操作を防ぐ静的型システムを持っています。

ただし、C ++と比較すると、Cには多くの制限があります。 Cはオブジェクト指向ではないため、OOPSの概念をサポートしていません。 Cは関数と演算子のオーバーロードをサポートしていません。 構造体内で関数を使用することはできません。 仮想関数や参照変数、あるいは例外処理はサポートされていません。 参照変数もサポートされていません。 さらに、Cはカプセル化もデータ保護も行いません。 対照的に、C ++はこれらの機能のすべてをサポートしています。

さらに、C ++はNAMESPACE機能をサポートしていません。 名前空間は、識別子(型、関数、変数などの名前)をグループ化することを可能にする決定的な領域です。 その後、名前空間を使用してコードを論理グループに編成し、名前の衝突を防ぐことができます。 これは、コードベースに複数のライブラリが含まれている場合に特に役立ちます。これにより、コードに衝突が発生しやすくなります。

この2つの言語は、アドレスメモリの機能、入出力、およびGUIプログラミングの方法も異なります。 例えば、Cはメモリの割り当てと割り当て解除にcalloc()、malloc()、free()関数を使用しますが、C ++はnewとdeleteを使用します。 Cは入出力にscanf()とprintf()を使用しますが、C ++はcin >>とcout <<演算子を使用します。 C ++はGUIプログラミング用のGTKツールをサポートしていますが、C ++はGUIプログラミング用のQtツールをサポートしています。 もう1つの違いは、Cでは、プログラムの先頭ですべての変数を宣言する必要があるのに対し、C ++では、変数をプログラム内の任意の場所で宣言できることです。

さらに、C ++はCよりも使いやすいため、通常は習得が容易であると考えられています。C++には、特にCフレームワークに慣れていない人にとってはコーディングを容易にする多数の追加機能があります。 しかし、多くの人がそれが実際に重要であると主張しています。 この2つの言語は大きく異なるため、実際は互いに独立した2つの異なる言語にすることができます。 留意すべき点の1つは、CはC ++よりもはるかに構造化されているのに対し、C ++はCより表現力があり抽象的であるように設計されていることです。

CとC ++の比較

C

C ++

設立

1969年から1973年の間にAT&T Bell LabsでDennis Ritchieによって開発されました。

1979年からベル研究所のBjarne Stroustrupによって開発されました。

ソースコード

フリーフォーマットプログラムのソースコード

もともとCプログラミング言語から開発された

言語

手続き指向の言語

手続き型プログラミングとオブジェクト指向プログラミングの両方のパラダイムをサポートします。 したがって、それはしばしばハイブリッド言語と呼ばれます。

アプローチ

トップダウンアプローチに従います。

ボトムアップアプローチに従います。

関係

CはC ++のサブセットです。 C ++コードを実行することはできません。

C ++はCのスーパーセットです。C++はほとんどのCコードを実行できますが、CはC ++コードを実行できません。

ドライブ

機能駆動型言語

オブジェクト駆動言語

フォーカス

データではなくメソッドやプロセスに焦点を当てています。

メソッドやプロシージャではなくデータに焦点を当てています。

ビルディングブロック

関数

オブジェクト

キーワード

32個のキーワードを含む

52個のキーワードを含む

OOPSの概念

'C'言語は手続き指向言語であるため、クラス、オブジェクト、継承、多態性、データ隠蔽などのOOPSの概念をサポートしていません。

オブジェクト指向言語として、C ++はクラス、オブジェクト、データ隠蔽、多態性、継承、抽象化などをサポートします。

関数

  • 機能とオペレータのオーバーロードをサポートしません。
  • 構造体内で関数を使用することはできません
  • 仮想関数と参照変数をサポートしません
  • 例外処理をサポートしません
  • 参照変数をサポートしません
  • 名前空間機能はありません
  • 他の関数からmain()関数を呼び出せる
  • 機能とオペレータのオーバーロードをサポートします。
  • 構造体内で関数を使用することができます
  • 仮想関数と参照変数をサポートします。
  • try and catchブロックを使用した例外処理をサポートします。 例外は、コードを不正確にする「強い」エラーに使用されます。
  • 参照変数をサポート
  • 名前の衝突を回避するNAMESPACE機能を使用します。
  • 他の関数からmain()関数を呼び出すことはできません。

メモリ機能

calloc()、malloc()、およびfree()関数を使用して、メモリの割り当てと割り当て解除を行います。

同じ目的で演算子newとdeleteを使用します。

カプセル化

サポートしていません。 データと機能は別々の自由な実体です。

カプセル化をサポートします。 データと機能は、オブジェクトの形でまとめてカプセル化されています。 オブジェクトクラスは、オブジェクトの構造の青写真を提供します。

情報の隠蔽

Cは情報の隠蔽をサポートしていません。 ここで、データは自由な実体であり、外部のコードによって操作することができます。

カプセル化はデータを隠し、データ構造と演算子が意図したとおりに使用されるようにします。

データ

組み込みおよびプリミティブデータ型をサポートします。

オブジェクト指向ではないため、データは保護されません

組み込みとユーザー定義の両方のデータ型をサポートします。

データはC ++で保護(非表示)されています

レベル

低レベル言語

中級言語

入出力

'C'言語は入力と出力にscanf()とprintf()を使用します。

'C ++'言語は、入出力にcin >>およびcout <<演算子を使用します。

変数の宣言

Cでは、プログラムの先頭ですべての変数を宣言する必要があります。

C ++では、変数は使用前にプログラム内の任意の場所で宣言できます。

多重宣言

グローバル変数の多重宣言は許されます。

グローバル変数の多重宣言はできません。

マッピング

データと機能の間のマッピングは困難で複雑です。

「オブジェクト」を使用してデータと関数の間のマッピングを使用することができます

GUIプログラミング

CはGUIプログラミングのためのGTKツールをサポートします

C ++はGUIプログラミング用の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];

メモリを解放する

無料

free(x);

free(x_array);

削除します。

xを削除します。

delete [] x_array;

推奨されます

関連記事

  • との差: 帰納的推論と演繹的推論の違い

    帰納的推論と演繹的推論の違い

    主な違い: 「ボトムアップ」論理とも呼ばれる帰納推論は、特定の例から一般化された文を作成することに焦点を当てた一種の推論です。 この種の推論は、何かが真実であることを証明するかもしれない特定の例に焦点を合わせており、それは次に一般化された概念に移されます。 演えき推論は一般化された概念を使用して特定の情報を探そうとするため、演繹的推論は帰納的推論とは異なります。 これは「トップダウン」アプローチまたはウォーターフォールアプローチとしても知られています。 これは、研究者が一般化された概念から始めて、それから特定の例まで進むためです。 帰納的および演繹的は、研究中に適用される2つの異なる推論方法です。 これら2つの方法は、論理的思考と分析プロセスの一部です。 これら2つの推論方法は互いに全く異なり、研究者のニーズに応じて採用されています。 帰納的推論は選択された例から一般化された文を作成することに焦点を合わせ、演繹的推論は一般化された文から具体的な例を作成することに焦点を合わせます。 「ボトムアップ」論理とも呼ばれる帰納推論は、特定の例から一般化された文を作成することに焦点を当てた一種の推論です。 この種の推論は、何かが真実であることを証明するかもしれない特定の例に焦点を合わせており、それは次に一般化された概念に移されます。 例を使って試してみましょう。 JohnとTimは高校のトラック
  • との差: Bharat PetroleumとHindustan Petroleumの違い

    Bharat PetroleumとHindustan Petroleumの違い

    主な違い: Bharat Petroleumは、1977年に設立されたインドの国営石油・ガス会社であるBharat Petroleum Corporation Limited(BPCL)の略で、2013年のFortune Globalのランキングで229位にランクされました。Hindustan PetroleumはHindustan Petroleum Corporationの略です。 Limited(HPCL)は、1974年に設立されたインドの国営石油および天然ガス会社でもあり、2013年のFortune Globalのランキングで260位にランクされています。 Bharat PetroleumとHindustan Petroleumは、最も有名で最大のインドの石油会社です。 どちらもインドの石油経済統計分野と利益率で大きなシェアを占めています。 これらは、巨大な政府の首都や株式で非常に採用されています。 これらは、大きな資産と資本を持つ有名なインドの政府機関です。 両社は、インドのさまざまな州でさまざまな事業を立ち上げ、現在取り組んでいます。 Bharat Petroleum Corporation Limited(BPCL)は、1977年に設立されました。以前は、1976年にインド政府に引き継がれたBurmah Shellとして社名が付けられました。 。 今日、BPCLは大規模
  • との差: AMDとPentiumの違い

    AMDとPentiumの違い

    主な違い: AMDはカリフォルニア州サニーベールを拠点とする多国籍企業です。 Pentiumは、Intelによって製造されたx86互換マイクロプロセッサのブランドの1つです。 長年にわたり、AMDはPentiumシリーズと競合するプロセッサの数を持っていました。 ただし、Pentiumと直接競合していると見なされているプロセッサは、AMDのAthlonシリーズのプロセッサです。 Advanced Micro Devices(AMD)は、カリフォルニア州サニーベールを拠点とする多国籍企業です。 その主な製品はコンピュータプロセッサと関連技術ですが、マイクロプロセッサ、マザーボードチップセット、サーバ、ワークステーションとパーソナルコンピュータ、そして組み込みシステムアプリケーション用の組み込みプロセッサとグラフィックプロセッサを製造することで知られています。 Pentiumは、Intelによって製造されたx86互換マイクロプロセッサのブランドの1つです。 Intel Corporationは、カリフォルニア州サンタクララに本社を置く多国籍半導体チップメーカー企業です。 それは実際にはx86シリーズのマイクロプロセッサの発明者です。 現在、Intelは収益に基づいて世界最大かつ最高値の半導体チップメーカーです。 IntelとAMDが合わせて、2011年第3四半期に販売したCPUの99.1
  • との差: クルミとチェリーウッドの違い

    クルミとチェリーウッドの違い

    主な違い: クルミとチェリー材は、2種類の広葉樹です。 クルミの木は主に木のJuglans属に属する木から供給されています。 木として、クルミは磨かれたとき滑らかな終わりを持っている堅く、密で、そしてきつい木目を持つ傾向があります。 木目は通常まっすぐになる傾向があります。 しかし、時には不規則になることもあります。 心材は色が濃いチョコレートになる傾向がある間クルミの辺材はクリーミーな白い色合いを持っています。 桜の木は桜の木です、そしてそれは正式に木と低木のPrunus属の一部です。 桜の木は金色の光沢を持つ赤褐色の色合いをしています。 木を切ると、色は非常に青くなりますが、年が経つにつれて木は濃く濃くなる傾向があり、やがてその有名な濃い茶色の赤い色合いを帯びます。 クルミとチェリー材は、2種類の広葉樹です。 基本的に、広葉樹は被子植物の木から来る木です。 これは、それがさや、殻、覆い、あるいは果物の中にあるような、囲まれた種を持つ木の一種です。 たとえば、リンゴやナッツ類、ドングリやクルミなどの種です。 これらの種の種は鳥や昆虫が木の花に引き付けられ、他の木に花粉を運ぶことを可能にします。 広葉樹の木がしばしば一緒に束ねられるのではなく、互いに間隔を置いて配置され、それらの間に他の木があることが多い理由です。 ほとんどの広葉樹の木は落葉性でも自然です。 落葉樹は、毎年その葉を失
  • との差: ハリーポッターとロードオブザリングの違い

    ハリーポッターとロードオブザリングの違い

    主な違い: Harry PotterはJK Rowlingによって書かれ、1994年に最初に発行されました。Lordof the Ringsはより古く、1954年にJRR Tolkienによって発行されました。 さらに、ハリーポッターはそのシリーズの7冊の本を持っているのに対し、ロードオブザリングは3冊しかありません。 彼らはまた異なる陰謀や物語を持っています。 Harry PotterとLord of the Ringsは、2つの人気の本シリーズで、名声と人気を集めています。 しかし、フィクションの作品間の類似点と相違点については、多くの議論が続いています。 それらと最も明白なものとの間の主な違いは、それらが異なる作者によって書かれているということです。 Harry Potterシリーズは1994年に出版された最初の本であるJKローリングによって書かれました。ロードオブザリングはハリーポッターよりかなり古いです。 それはJRR Tolkienによって書かれました、そして、最初の本は1954年に出版されました。さらに、ハリーポッターはそのシリーズに7冊の本を持っていますが、ロードオブザリングは3冊しか持っていません。 しかし、RowlingのHarry PotterとTolkienのLord of the Ringsには多くの類似点があることは無視できます。 その中には、トルキエンの
  • との差: SPとDP Androidの違い

    SPとDP Androidの違い

    主な違い: SPとDPは、余白、テキストサイズなどのレイアウトプロパティを定義するためにAndroidで使用される2つの異なる単位を定義します。SPはスケールに依存しないピクセルを表し、DPは密度に依存しないピクセルを表します。 SPとDPは同じですが、SPにはユーザーの好みのテキストサイズに基づく追加の拡大/縮小率があります。 SPはテキストサイズの定義に使用する必要がありますが、レイアウトサイズには使用しないでください。 SPとDPはアンドロイドの相対的なユニットのカテゴリーに入ります。 これらのユニットは、XMLでのユーザーインターフェイスの作成に使用され、コードでプログラム的に実装されています。 DPは密度に依存しないピクセルを表し、SPはスケールに依存しないピクセルを表します。 DPは、画面の物理的な密度に基づく抽象的なまたは仮想の単位です。 1 DPとは、160 dpiの画面上の1ピクセルを意味します。 画面の解像度を上げると、1 DPの単位で表されるピクセル数も増えます。 同様に、より低い解像度では、1単位のdpで表されるこの画素数は減少する。 これは相対的な単位であるため、160 dpi(1インチあたりのドット数)画面のベースラインが選択されています。 DP単位は、単純な式px = dp *(dpi / 160)を使用してスクリーンピクセルに変換できます。 SPはDP
  • との差: iPadとiPad Airの違い

    iPadとiPad Airの違い

    主な違い: iPadとiPad Airには多くの類似点があり、iPad AirはiPadへのわずかなアップグレードでした。 Appleは2010年にiPadを使用してタブレット市場に参入することに成功し、全く新しい世代のApple製品をマークし、どこにでもタブレットメーカーに新しいガイドラインを設定しました。 この比較を始める前に、iPadが製造中止になり最新のiPad Airに置き換えられる前に、iPadが第4世代になったことに注意してください。 この記事で取り上げているiPadは、iPad 4またはiPad 4世代と、iPad AirまたはiPad 5(正式名称)です。 iPadとiPad Airには多くの類似点があり、iPad AirはiPadへのわずかなアップグレードでした。 どちらのタブレットにも、タブレットの価格を決定する2つのモデル(Wi-FiおよびWi-Fi + Cellular)と内部記憶容量(16/32/64/128 GB)が付属しています。 iPad AirはiPad 4の発表から1年後に発表されました。両者の類似点と相違点を指摘しましょう。 表示: どちらのタブレットも同様のデザインで、同じディスプレイに9.7インチIPS LCDの革新的な「Retina」テクノロジを採用し、同じ264 ppiの解像度を提供します。 どちらのスクリーンも、傷つきにくいガラスと疎
  • との差: 廊下と通路の違い

    廊下と通路の違い

    主な違い: 廊下と通路は、どちらも家の正面玄関の内側の細長いホールを指しています。 英語は複雑な言語です。1つの単語が異なることを意味し、異なる単語が同じことを意味することがあります。 廊下と通路は後者の一例です。ある意味でこれら二つの言葉は同じことを意味します。 廊下や通路は、複数の異なるドアに通じる廊下です。 特定の国では廊下としても知られています。 別の定義によれば、家の正面玄関の内側の細長いホールは通路、廊下、または廊下と呼ばれることがある。 廊下の定義は2つの部屋を一緒に接続する余分なスペースに制限されていますが、通路はこれに加えて他の多くの意味を持っています。 パッセージは、段落や詩などの文章を指すこともあります。 それはまた、音楽作品のフレーズや他の部門を指すことができます。 移動に関しては、「インドからパキスタンへの通過は耐え難いほど長かった」など、ある場所から別の場所へ通過する行為を指すこともあります。この用語は、人や物が通過する経路または進路を意味することもあります。または旅行します。 接続場所またはある場所を別の場所に接続する領域の意味を指すとき、通路および廊下という用語は互換的に使用することができます。 ただし、通路は建物内の派手な場所を指すこともありますが、廊下とは病院内などの部屋の廊下を指す。 廊下と通路の違いは廊下が建物の中にあり通路が開いているというこ
  • との差: チェコとスロバキアの違い

    チェコとスロバキアの違い

    主な違い: 主な違いは、チェコ人はチェコ共和国であるのに対し、スロバキア人はスロバキア出身です。 ただし、これらの地域の歴史は一緒に刺繍されています。 したがって、この2人を区別することは非常に困難です。 チェコ人とスロバキア人を区別するのは簡単なことではありません。 もちろん、主な違いはチェコ人がチェコ共和国であるのに対し、スロバキア人はスロバキア出身です。 ただし、これらの地域の歴史は一緒に刺繍されています。 実際、これら2つの国はかつて1つの、単一の、そして統一された国でした。 歴史的に、両国はオーストリア帝国の一部でした。 第一次世界大戦の終わりに帝国が崩壊した後、その領土は配られました。 1918年、チェコスロバキア共和国が設立されました。 これに続いて、チェコスロバキアはもう少し激動の時代を見ました。 それは第二次世界大戦中にドイツによって占領され、そして戦争の終わりとともに1945年についに解放されました。 結局、チェコスロバキアは平和的に2つの国に分離した:チェコ共和国とスロバキア。 おそらく、分離の主な理由は、チェコ人とスロバキア人が政治的な理由で一緒にペアにされた2つの異なる文化であるということでした。 政治的な理由が後退した後、文化の違いは最前線を取りました。 2つの異なる地域になることで、両方の文化は独自の独自性を持つことができます。 2つの文化の違いを説明す

エディターズチョイス

果物と野菜の栄養の違い

主な違い: 植物学によると、果実は花から成長する植物の一部です。 技術的には、それは植物の腫れた卵巣です。 それはまた植物の種子を含み、種子を広める責任があります。 植物学者は果物以外の植物のあらゆる部分を野菜と見なします。 これには、茎、葉、根、塊茎、球根、さらには花芽が含まれます。 栄養的には、多くの果物と野菜は似ています。 彼らはより低いカロリーと脂肪数を持っています。 果物や野菜も一般的に繊維含有量が高いです。 果物と野菜を区別している間の主な問題はそれをする2つの方法があるということです。 正式な方法は、植物学の定義に従ってそれらを分類することです。 ただし、ほとんどの人や食料品業界では、好みや以前の感想に従って分類しています。 植物学によると、果物は花から成長する植物の一部です。 技術的には、それは植物の腫れた卵巣です。 それはまた植物の種子を含み、種子を広める責任があります。 ほとんどの果物は食用であり、そして実際にこれらの植物はかつて種子を広めるために人間、他の動物および鳥に頼っていました。 しかし、コヨーテメロン、ホリー、アイビー、ヤドリギ、プリベット、スノーベリー、とげのあるリンゴなどのようないくつかの果物は食べられず、さらには有毒かもしれません。 植物学者は果物以外の植物のあらゆる部分を野菜と見なします。 これには、茎、葉、根、塊茎、球根、さらには花芽が含まれま