Contents

1 蟲譟一 襦蠏碁覦
2 螳豌伎 襦蠏碁覦
3 朱 襦蠏碁覦
4 C++
5 襦蠏碁覦 谿
6 Hello World
7 Class 蠍一
8 Memory Segment


1 蟲譟一 襦蠏碁覦 #

  • 襦蠏碁 = 一危 + 螻襴讀
  • C 谿 語 -> 螻襴讀 豺譴.
  • FORTRAN, BASIC螻 螳 谿 語 -> ろ蟆 襦蠏碁 -> 蟲譟一 襦蠏碁覦 煙ル旭蟆
  • 蟲譟一 襦蠏碁覦 レ(Top-Down) り -> 讓手螻 讓手 襦蠏碁覦蠍 覈 蟾讌 讓手.
  • 谿

2 螳豌伎 襦蠏碁覦 #

  • 蠏覈 蟲譟一 襦蠏碁覦 企れ 覓語 -> 螳豌伎レ 煙ル旭蟆
  • 一危磯ゼ 螳譟 -> 願屋伎 覓語 轟煙 襷蟆 一危一 襯 り
  • 一危一 蠏 一危磯ゼ 朱
  • 螳豌企ゼ 覓 企るゼ り 蟆 豌 -> レ(Bottom-Up)
  • , 覲伎, ろ, -> 願屋伎 螳 譯殊
  • 貊 C++ 讌 螳

3 朱 襦蠏碁覦 #

  • 朱(generic) 轟 蟲讌 貊襯 燕る -> C++ 襴
  • 螻襴讀 螳譟 ( , 螳 豢 OOP 螳螻 )

4 C++ #

  • Bell 郁規 Bjarne Stroustrup 1980 豐 螳覦
  • C++ = C 轟(譴 蠏殊 螻) + OOP轟(螻譴 豢)

5 襦蠏碁覦 谿 #

  • 貊 -> 襦蠏碁 讌
  • 貊 貉危 -> 貉危郁 襾轟 蠍郁企 覯 譴. (覯 殊 覈(Object) 貊手 )
  • 襷 -> 覈貊 殊企襴 企麹 覈貊, 譴 貊襯 郁屋 譴.
  • 蟆郁骸襦 ろ螳ロ 貊螳 襷れ伎.

6 Hello World #

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    cin.get();
    return 0;
}

#include <iostream>
  • 豌襴 讌
  • れ螳 貉危朱 朱 iostream 殊 伎 蟷 貉危狩.
  • #include <iostream> 覓語レ iostream 殊 伎朱 豌企.

using namespace std;
  • std 企螻糾 る 詞企.
  • 螳 朱 れろ伎れ 磯殊 伎 るゼ . (覯, 伎 )

int main()
  • 螳 語? 伎豌伎螳 語.
  • { ~~ } 覈語牡. 伎 .
  • int Return Type


7 Class 蠍一 #

  • 企る 一危壱
  • 一危一 譬襯 一危磯ゼ 朱
  • 企, 螳豌
    • 企る 一危一 一危一 覦覯 企 豢 螳
    • 螳豌企 企れ 煙 磯 焔 螳豌(螳豌 語ろ伎 or 語ろ伎 覲手 )
  • 蟆 る 企 螳豌伎 覃讌襯
  • 覃讌 覦覯
    • 企 覃襯 (襷り覲 襷り覲 一危壱 螻 伎 . 讀, 覃讌襯 譯手 覦蠍 殊 蠏曙 る 詞企)
    • 一一

8 Memory Segment #

覃覈襴
Code Segment襦蠏碁 貊 覃覈襴 /伎螳 企伎 .
Data Segmentstatic覲, 覲螳 覃覈襴 朱 覲 0朱 豐蠍壱 . 覓語伎("Hello World") .
襦蠏碁 一 螻糾朱 , , 覃覈襴 轟 蟲 蟆曙, 覃覈襴螳 覿譟燕 轟 ろる 襦蠏碁 譯曙 .
Stack Segment襷り覲, 伎 讌覲螳 覃覈襴 , OS螳 伎. 覲れ 豐蠍壱讌 朱 磯蠍郁 螳讌.
Heap Segmentmalloc(), new襦 朱 豪 , 伎.

 void test(int a)
{
	cout << "Data Segment ル." << endl;
	int *p = new int[10];
	delete []p;
}
  • 讌覲 p, 襷り覲 a
    • Stack Segment襯
    • OS螳 伎
  • 朱 豪 覦一[10] 讀, 40byte
    • Heap Segment襯
    • 螳 讌 伎 -> delete []p;