1. ã¯ããã«
ãã®èšäºã§ã¯ãããã°ã©ãã³ã°èšèªãšããŠå¹ åºãå©çšãããŠããC++ã®ç°å¢æ§ç¯æ¹æ³ã«ã€ããŠè©³ãã解説ããŠãããŸããç°å¢æ§ç¯ã®æé ã ãã§ãªãããã®èæ¯ã«ããåºæ¬çãªç¥èãŸã§ãæããŠãæ··ä¹±ããããšãªãã¹ã ãŒãºã«C++ã®åŠç¿ã«åãçµãããã®æ å ±ãæäŸããŠãããŸãã
1.1 C++ãšã¯
C++ã¯ãæ±çšããã°ã©ãã³ã°èšèªã®äžã€ã§ãäžçŽããäžçŽè åãã®èšèªãšãããŠããŸããCèšèªãåºã«éçºããããã®é«ãè©äŸ¡ã«ç«¯ãçºãããšãã£ãŠãéèšã§ã¯ãããŸããããªããžã§ã¯ãæåããã°ã©ãã³ã°ãå¯èœãšããç¹æ§ããã倧èŠæš¡ãªãœãããŠã§ã¢éçºã§ãåºãçšããããŠããŸãã
1.2 ç°å¢æ§ç¯ãšã¯
ç°å¢æ§ç¯ãšã¯ãããã°ã©ãã³ã°ãå¹çããè¡ãããã«å¿ èŠãªãœãããŠã§ã¢ãããŒã«ãã€ã³ã¹ããŒã«ããèšå®ãè¡ãããšãæããŸããç°å¢æ§ç¯ãé©åã«è¡ãããšã§ãã³ãŒããæžãã ãã§ãªããã³ã³ãã€ã«ããããã°ãšãã£ãäœæ¥ã®å¹çã倧ããåäžããŸãã
1.3 C++åŠç¿ã®æ矩
ãªãC++ã®åŠç¿ã䟡å€ããããšãªã®ããšãããšãC++ã¯éåžžã«ãã¯ãã«ãªèšèªã§ãããªãããåæã«å³å¯ãªæ§æèŠåã«ãã£ãŠåŸ¹åºçã«ã³ãŒãå質ããã§ãã¯ããããšãå¯èœã§ããããã«ããã倧èŠæš¡ãªãœãããŠã§ã¢ã§ãã£ãŠãæ§é çã«æŽçãè¡ãå±ãã圢ã§éçºãé²ããããšãã§ããŸãããŸããC++ã«ã¯ãã€ã³ã¿ãã¡ã¢ãªæäœãšãã£ãäœã¬ãã«ãªæäœãè¡ãæ©èœãå«ãŸããŠãããããã³ã³ãã¥ãŒã¿ãµã€ãšã³ã¹çãªèŠçŽ ãæ·±ãäœæããªããåŠç¿ãé²ããããšãã§ããŸãã
以äžã®ãããªçç±ããããããããå€ãã®å Žé¢ã§C++ã掻çšããç¶ããããšééããªãããã®åŠç¿ã¯ééç¹ãšãèšããéèŠãªããã»ã¹ãšãªããŸãã
2. å¿ èŠãªãœãããŠã§ã¢
C++ããã°ã©ãã³ã°ãå§ããåã«ããŸãæåã«æããªããã°ãªããªãã®ããããã°ã©ã ã®äœæãšå®è¡ã«å¿ èŠãªãœãããŠã§ã¢ã§ããå ·äœçã«ã¯ãã³ã³ãã€ã©ãšãšãã£ã¿ãšãã2ã€ã®ãœãããŠã§ã¢ãå¿ èŠãšãªããŸãã
2.1 ã³ã³ãã€ã©
ã³ã³ãã€ã©ãšã¯ã人éãæžããããã°ã©ã ãæ©æ¢°èªã«å€æãã圹å²ãæ ããœãããŠã§ã¢ã®ããšãæããŸããC++ã®ã³ãŒããã³ã³ãã¥ãŒã¿ãå®è¡ã§ãã圢ã«å€æããããã«ã¯ãã³ã³ãã€ã©ãå¿ èŠãšãªããŸããããã§ã¯ãããçšãããããGCCãããClangããšãã2ã€ã®ã³ã³ãã€ã©ã«ã€ããŠèª¬æããŸãã
2.1.1 GCCãšã¯
GCCã¯ãGNU Compiler Collectionã®ç¥ã§ãæ§ã ãªããã°ã©ãã³ã°èšèªã«å¯Ÿå¿ãããªãŒãã³ãœãŒã¹ã®ã³ã³ãã€ã©ã§ããç¹ã«C++ã®ã³ã³ãã€ã©ãšããŠã¯åºã䜿çšãããLinuxç°å¢ãªã©ã§ã¯ã»ãŒããã©ã«ããšããŠã€ã³ã¹ããŒã«ãããŠããŸããæé©åæ©èœãå å®ããŠããããšãå®å®æ§ãé«ããšãã£ãç¹åŸŽããããŸãã
2.1.2 Clangãšã¯
次ã«Clangã¯ãCãC++ãObjective-Cã®ã³ã³ãã€ã©ã§ãããLLVMãããžã§ã¯ãã®äžéšãšããŠéçºãé²ããããŠããŸããGCCãšæ¯ã¹ãŠãã³ã³ãã€ã«é床ãéããæ¶è²»ã¡ã¢ãªãå°ãªãããšãç¹åŸŽã§ãããŸãããšã©ãŒã¡ãã»ãŒãžãåããããããããããã°ã©ãã³ã°åå¿è ã«ãæ±ãããããšèšãããŠããŸãã
2.2 ãšãã£ã¿
ãšãã£ã¿ã¯ããã°ã©ã ãæžãããã®ããŒã«ã§ãããã¹ããšãã£ã¿ããå°çšã®çµ±åéçºç°å¢ïŒIDEïŒãŸã§ããŸããŸãªãã®ããããŸããããããC++ãåŠã¶åæ段éã§ã¯IDEã¯æ©èœãå€ãããŠéã«æ··ä¹±ãæãããããããããã§ã¯ã·ã³ãã«ã§äœ¿ããããããã¹ããšãã£ã¿ã§ãããVisual Studio CodeããšãAtomãã玹ä»ããŸãã
2.2.1 Visual Studio Codeã®æŠèŠ
Visual Studio CodeïŒä»¥äžãVS CodeïŒã¯ãã€ã¯ããœãããéçºããå€æ©èœãã€é«éã§ããããšããå€ãã®éçºè ã«æ¯æãããŠããŸããæ§ã ãªããã°ã©ãã³ã°èšèªã«å¯Ÿå¿ããŠããããã©ã°ã€ã³ãè¿œå ããããšã§æŽã«æ©èœãæ¡åŒµããããšãã§ããŸãããã®è±å¯ãªæ©èœãšé«ãæ¡åŒµæ§ã«ãé¢ãããããã®æäœæ§ãšèŠãç®ã®æŽç·Žãããåå¿è ããäžçŽè ãŸã§å¹ åºãå±€ããå©çšãããŠããŸãã
2.2.2 Atomã®æŠèŠ
ãŸããAtomã¯GitHubãéçºãããšãã£ã¿ã§ã”A hackable text editor for the 21st Century”ãã³ã³ã»ããã«ãèªç±ã«ã«ã¹ã¿ãã€ãºã§ããããšãç¹åŸŽãšããŠããŸãããã©ã°ã€ã³ãè¿œå ããããšã§ããããããªæ©èœãè¿œå ããããšãã§ããŸãããã®äœ¿ãæããšèªåšãªæ¡åŒµæ§ãããå€ãã®éçºè ã«æ¯æãããŠããŸãã
3. C++ç°å¢æ§ç¯ã®æé
äžè¬çã«C++ç°å¢ã®æ§ç¯ã¯å¹³å°ããšã«ç°ãªãæé ãå¿ èŠãšãªããŸããããã§ã¯äžè¬çãª3ã€ã®OSãã€ãŸãWindowsãMacããããŠLinuxïŒç¹ã«UbuntuïŒã§ã®ç°å¢æ§ç¯æ¹æ³ã«ã€ããŠè§£èª¬ããŸãã
3.1 Windowsã®å Žå
Windowsç°å¢ã®å ŽåããªãŒãã³ãœãŒã¹ãªUnixãšãã¥ã¬ãŒã·ã§ã³ç°å¢ã§ããCygwinãå°å ¥ããããããã¯MinGWïŒMinimalist GNU for WindowsïŒãå°å ¥ãããšããéžæè¢ããããŸãã
3.1.1 Cygwinã®å°å ¥
Cygwinã¯UNIX颚ENVãæäŸããLinux likeãªç°å¢ãWindowsäžã§å®çŸå¯èœã§ãããŸãããããã»ããã¢ãããã¡ã€ã«ãããŠã³ããŒãããŸãããã®åŸã¯ããŠã³ããŒããããã¡ã€ã«ãå®è¡ããæ瀺ã«åŸã£ãŠã€ã³ã¹ããŒã«ãé²ããŸãã
ç¹ã«éèŠãªéšå㯔Select Packages”ã®ã¹ãããã§ããã㧒gcc’ããã³’g++’ãæ€çŽ¢ãããããã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããããããç¡ããšC++ã®ã³ã³ãã€ã«ãè¡ããŸããã
3.1.2 MinGWã®å°å ¥
MinGWã¯GCCïŒGNU Compiler CollectionïŒã®Windowsçã§ãWindowsç°å¢ã§C++ãéçºå¯èœã«ããŸãããŸãã¯ããããã€ã³ã¹ããŒã©ãŒãããŠã³ããŒãããã€ã³ã¹ããŒã«ãé²ããŸãã
ãã ããããã©ã«ãã§ã¯GCCãã€ã³ã¹ããŒã«ãããŸããã®ã§ã”Basic Setup”ã¿ããã¯ãªãã¯ãããã㧔gcc-g++”ãéžæããŸãããã®äžã§”Mark for Installation”ãã¯ãªãã¯ããã¡ãã¥ãŒã®”Installation” > “Apply Changes”ãéžæããå€æŽãé©çšããŸãã
3.2 Macã®å Žå
Macã®å Žåãããã±ãŒãžç®¡çããŒã«ã§ããHomebrewãçšããŠGCCãClangãã€ã³ã¹ããŒã«ããã®ãç°¡åã§ãã
3.2.1 Homebrewã®æŠèŠãšã€ã³ã¹ããŒã«æ¹æ³
Homebrewã¯Macäžã§ãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ã楜ã«ããããã±ãŒãžç®¡çããŒã«ã§ãããããéããŠGCCãClangãã€ã³ã¹ããŒã«ããŸãããŸãã¯å ¬åŒãµã€ãããã€ã³ã¹ããŒã«ã¹ã¯ãªãããã³ããŒããTerminalã«ããŒã¹ããå®è¡ããŸãã
3.2.2 GCCã®ã€ã³ã¹ããŒã«æ¹æ³
Homebrewãã€ã³ã¹ããŒã«ããããã”brew install gcc”ãTerminalã«å ¥åããŠå®è¡ããŸããããã«ããGCCãã€ã³ã¹ããŒã«ãããŸãã
3.2.3 Clangã®ã€ã³ã¹ããŒã«æ¹æ³
Clangã¯åºæ¬çã«Macã«æåããã€ã³ã¹ããŒã«ãããŠããŸãããææ°çã䜿çšãããå ŽåããããŒãžã§ã³ç®¡çãè¡ãããå Žåã¯HomebrewãéããŠã€ã³ã¹ããŒã«å¯èœã§ãããã®å Žå㯔brew install llvm”ãšå ¥åããŠå®è¡ããŸãã
3.3 Linuxã®å Žå
ããã§ã¯äž»ã«UbuntuãäŸã«åããŸãããä»ã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãã»ãŒåãã³ãã³ãã§æäœå¯èœã§ãã
3.3.1 Ubuntuã®å Žå
Ubuntuã§ã¯ããã±ãŒãžç®¡çããŒã«ã§ããaptãå©çšããŸãã次ã®ã³ãã³ãã§GCCãšClangãããããã€ã³ã¹ããŒã«ã§ããŸãã
3.3.1.1 GCCã®ã€ã³ã¹ããŒã«æ¹æ³
以äžã®ã³ãã³ããå®è¡ããŠGCCãã€ã³ã¹ããŒã«ããŸãã
sudo apt install build-essential
3.3.1.2 Clangã®ã€ã³ã¹ããŒã«æ¹æ³
以äžã®ã³ãã³ããå®è¡ããŠClangãã€ã³ã¹ããŒã«ããŸãã
sudo apt install clang
4. ãšãã£ã¿ã®èšå®
ã·ã³ãã«ã§äœ¿ããããããã¹ããšãã£ã¿ã¯ãC++ã®ã³ãŒãã£ã³ã°ã«ã¯æ¬ ãããªãããŒã«ã§ããããã§ã¯ãäž»ã«Visual Studio CodeãšAtomã®2ã€ã®äººæ°ãªãšãã£ã¿ã«ã€ããŠããã®ã€ã³ã¹ããŒã«æ¹æ³ãšåºæ¬çãªèšå®æ¹æ³ã説æããŸãã
4.1 Visual Studio Codeã®èšå®
Visual Studio CodeïŒä»¥äžVS CodeïŒã¯ããã€ã¯ããœãããéçºããç¡æã®ã³ãŒããšãã£ã¿ã§ããã®é«åºŠãªæ©èœãšæ¡åŒµæ§ãããå€ãã®éçºè ã«æ¯æãããŠããŸãã
4.1.1 ã€ã³ã¹ããŒã«æ¹æ³
VS Codeã®ã€ã³ã¹ããŒã«ã¯ããã®å ¬åŒãµã€ãããè¡ãããšãã§ããŸããããŠã³ããŒãããŒãžã«ã¢ã¯ã»ã¹ããŠããDownload for WindowsããŸãã¯ãDownload for Macããªã©ã䜿çšããŠããOSã«åã£ããã®ãã¯ãªãã¯ããŸããããŠã³ããŒããå®äºããããã€ã³ã¹ããŒã©ãéããŠæ瀺ã«åŸã£ãŠãã ããã
4.1.2 æ¡åŒµæ©èœã®å°å ¥
VS Codeã®å€§ããªç¹é·ã¯ãå€ãã®æ¡åŒµæ©èœãå°å ¥ããããšãã§ããããšã§ããç¹ã«C++ãæžãäžã§ã¯ããC/C++ãæ¡åŒµæ©èœãå°å ¥ããããšãããããããŸããããã«ãããVS Codeäžã§çŽæ¥ã³ãŒãã®è£å®ããããã°ãè¡ãããšãå¯èœã«ãªããŸããã¡ãã¥ãŒãããæ¡åŒµæ©èœããéžã³ããC/C++ããæ€çŽ¢ããŠã€ã³ã¹ããŒã«ããŠãã ããã
4.2 Atomã®èšå®
AtomããŸããGithub補ã®ãªãŒãã³ãœãŒã¹ã®é«æ©èœããã¹ããšãã£ã¿ãšããŠãéçºè ã®éã§éåžžã«äººæ°ããããŸãã
4.2.1 ã€ã³ã¹ããŒã«æ¹æ³
Atomãšãã£ã¿ã®ã€ã³ã¹ããŒã«ããå ¬åŒãµã€ãããè¡ããŸããããŠã³ããŒãããŒãžãéããå¿ èŠãªããŒãžã§ã³ãããŠã³ããŒãããŸããããŠã³ããŒããå®äºããããã€ã³ã¹ããŒã©ãå®è¡ããŠé²ããŠãã ããã
4.2.2 ããã±ãŒãžã®å°å ¥
AtomããŸãé«ãæ¡åŒµæ§ãæã£ãŠãããC++ã®éçºã«åœ¹ç«ã€å€ãã®ããã±ãŒãžãååšããŸãããatom-ide-uiãããide-cppããªã©ã®ããã±ãŒãžãå°å ¥ããããšã§ãã³ãŒãè£å®ããªãã¡ã¯ã¿ãªã³ã°ããšã©ãŒãã§ãã¯ãªã©ãè¡ãããšãã§ããŸããã¡ãã¥ãŒã®ãèšå®ããããããã±ãŒãžããéžã³ãæ€çŽ¢çªã«å¿ èŠãªããã±ãŒãžåãå ¥åããŠã€ã³ã¹ããŒã«ããŠãã ããã
5. Hello Worldã®äœæãšå®è¡
C++ã®äžçã«äžæ©èžã¿å ¥ããæåã®ã¹ããããšããŠãäŒçµ±çã«”Hello, World!”ããã°ã©ã ãäœæããŠã¿ãŸããããããã¯ãæ°ããããã°ã©ãã³ã°èšèªã®åºæ¬çãªæ§é ããéçºç°å¢ãæ£ããèšå®ãããŠããããšã確èªããããã®åºæ¬çãªããã°ã©ã ã§ãã
5.1 ããã°ã©ã ã®äœæ
ãŸãã¯éžæããããã¹ããšãã£ã¿ãéãã以äžã®C++ã³ãŒããå ¥åããŠã¿ãŸãããã
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }
ãã®ã³ãŒããäœãããŠãããç°¡åã«èª¬æãããšããŸã<iostream>ãšããã©ã€ãã©ãªãã€ã³ã¯ã«ãŒãããŠããŸãããã®ã©ã€ãã©ãªã«ã¯ãå ¥åºåã«é¢ããæ©èœãå«ãŸããŠãããç¹ã«std::coutãšstd::endlã¯ãããããæšæºåºåãšæ¹è¡ãè¡šããŠããŸãããããŠãmainé¢æ°ã¯ããã°ã©ã ã®ãšã³ããªãŒãã€ã³ãã§ã”Hello, World!”ãšããã¡ãã»ãŒãžãåºåããŠãæ£åžžçµäºã瀺ãããã«ãŒããè¿ããŠããŸãã
5.2 ããã°ã©ã ã®ã³ã³ãã€ã«ãšå®è¡
ããã°ã©ã ãå®æãããã次ã«ãããã³ã³ãã€ã«ããŠã¿ãŸãããããŸãã¯ä¿åãããã¡ã€ã«ãååšãããã£ã¬ã¯ããªã«ç«¯æ«ïŒãŸãã¯ã³ãã³ãããã³ããïŒã§ç§»åããŸãããããŠã以äžã®ãããªã³ãã³ããå ¥åããŠã¿ãŠãã ããã
g++ HelloWorld.cpp -o HelloWorld
g++ã¯GCCã®C++ã³ã³ãã€ã©ãæããŸãããã㊔HelloWorld.cpp”ã¯ãœãŒã¹ãã¡ã€ã«åã-o HelloWorldã¯åºåãããå®è¡ãã¡ã€ã«ã®ååãæå®ããŠããŸããã³ãã³ãã®å ¥åã«æåãããšãåããã£ã¬ã¯ããªå ã«”HelloWorld”ãšããå®è¡ãã¡ã€ã«ãçæãããŸãã
æåŸã«ãçæãããå®è¡ãã¡ã€ã«ãå®è¡ããŠã¿ãŸãããã以äžã®ã³ãã³ããå ¥åããŸãã
./HelloWorld
ããã«ããã”Hello, World!”ãšããã¡ãã»ãŒãžã端æ«äžã«è¡šç€ºãããã¯ãã§ãã衚瀺ããããæåã§ãïŒããã§ãC++ã®éçºç°å¢ãæ£ããæ§ç¯ãããŠããããšã確èªã§ããŸããã
6. ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãšãã®å¯Ÿå¿
ããã°ã©ãã³ã°ã«ãããŠãã©ããªã«çµéšããã£ãŠãåé¡ã«çŽé¢ããããšã¯é¿ããããŸãããããã¯C++ã®ç°å¢æ§ç¯ãäŸå€ã§ã¯ãªããç¹ã«åå¿è ã®å Žåãæå³ããªãåäœããšã©ãŒã«åºãããããšã¯ãããã¡ã§ãã
6.1 ããããåé¡ãšè§£æ±ºç
æåã«èããã¹ãã¯ããããããŠãã®åé¡ã«çŽé¢ããããšã¯ä»ã«ãããã®ã§ã¯ãªããããšããããšã§ããä»ã®äººããã§ã«è§£æ±ºããåé¡ã«ã€ããŠå床æéã䜿ã£ãŠè§£æ±ºããå¿ èŠã¯ãããŸããããã®ããããŸãåãã«åé¡ãèµ·ããæã¯ãã€ã³ã¿ãŒãããã§åé¡ãæ€çŽ¢ãããã§ã«è§£æ±ºçããããæ¢ããŸãããã
ããã§ã¯C++ã®ç°å¢æ§ç¯æã«ããåºãåé¡ã®äžéšãšããã®è§£æ±ºçãããã€ã玹ä»ããŸãã
1. ãã³ã³ãã€ã©ãèŠã€ãããªãããšã©ãŒãåºãå Žå: - ã³ã³ãã€ã©ã®ãã¹èšå®ãééã£ãŠããå¯èœæ§ããããŸããé©åãªç°å¢å€æ°ãèšå®ãããŠããããšã確èªããŸãããã 2. ããã°ã©ã ãæ£åžžã«ã³ã³ãã€ã«ã§ããªãå Žå: - ã³ãŒãèªäœã«åé¡ãããå¯èœæ§ããããŸãããšã©ãŒã¡ãã»ãŒãžãéããŠå ·äœçãªåé¡ç¹ãèŠã€ãåºãããšã倧åã§ãã 3. ãªã³ã«ãšã©ãŒãåºãå Žå: - å¿ èŠãªã©ã€ãã©ãªããªã³ã¯ãããŠããªãå¯èœæ§ããããŸããé©åãªãªã³ã¯ãªãã·ã§ã³ã䜿ãããŠããã確èªããŸãããã
6.2 ãšã©ãŒã¡ãã»ãŒãžã®èªã¿æ¹
ãšã©ãŒã¡ãã»ãŒãžã¯ãã ã®ãšã©ãŒã§ã¯ãªããåé¡è§£æ±ºã®æãããã§ãããšã©ãŒã¡ãã»ãŒãžã®æ£ç¢ºãªè§£èªãå¿ èŠã§ãããã«ããåé¡ã®è§£æ±ºã«åãçµãæ¹åã瀺ãããšãå¯èœãšãªããŸãã
ãšã©ãŒã¡ãã»ãŒãžã¯å€§æµãã©ãã§äœãåé¡ããäœãåå ã§ãšã©ãŒãçºçããã®ãã瀺ããŠããŸããããšãã°ãããã¡ã€ã«ãèŠã€ãããªãããšãããšã©ãŒã¡ãã»ãŒãžãåºãå Žåãããã¯åã«æå®ãããã¡ã€ã«ãååšããªããããããã¯èŠã€ããããã®ãã¹ãééã£ãŠããå¯èœæ§ã瀺ããŠããŸãã
ããã«å ·äœçãªãšã©ãŒã¡ãã»ãŒãžã¯ããšã©ãŒã®åå ãšãªãã³ãŒãã®è¡çªå·ã瀺ããŠããŸããããã¯ãåé¡ã®ç¹å®ã倧ãã«å©ããŸããC++ã®ã³ã³ãã€ã©ã¯éåžžã«è©³çŽ°ãªãšã©ãŒã¡ãã»ãŒãžãæäŸããã®ã§ããããå©çšããŸãããã
7. ãŸãšã
ããŠã以äžãC++ã®ç°å¢æ§ç¯ã«é¢ãã詳现ã¬ã€ãã§ãããç§ãã¡ã¯æ°å€ãã®ãœãããŠã§ã¢ãããŒã«ãæŽã«ã¯ãã©ãããã©ãŒã ããšã®éãã«ã€ããŠèå¯ããããããã«åã£ãæ§ç¯æ¹æ³ãåŠãã§ããŸããã
C++ã®åŠç¿ã¯ã³ãŒãã£ã³ã°ã®åºæ¬çãªã¹ãã«ã身ã«ã€ããããã«éåžžã«éèŠã§ãããããåãã®äžæ©ãšããŠç°å¢ãæŽããããšã¯ãç¹ã«åå¿è ã«ãšã£ãŠå€§ããªããŒãã«ã«ãªãããšããããŸããæ¬ã¬ã€ããããã®ãããªæããããæ¹ã ã«ãšã£ãŠããã®éå£ãåãé€ãæå©ãã«ãªãã°å¹žãã§ãã
ãããŠãããããå C++ãåŠç¿ããäžã§ãé©åãªã³ã³ãã€ã©ãšãšãã£ã¿ã®éžæããããã®èšå®æ¹æ³ã¯ãã¹ã ãŒãºãªåŠç¿ãé²ããããã®éèŠãªã¹ãããã§ãããŸãããã©ãã«ã·ã¥ãŒãã£ã³ã°ã§è©°ãŸã£ããšãã®ããã«ããšã©ãŒã¡ãã»ãŒãžã®èªã¿æ¹ãåé¡ã®è§£æ±ºçã«ã€ããŠãç解ããŠããããšã倧åã§ãã
äžããç°å¢ãæ§ç¯ããããšã¯ãæåã¯å€§å€ãªäœæ¥ãããããŸããããããã«ããã³ã³ãã¥ãŒã¿ãããã°ã©ãã³ã°ã«ã€ããŠã®ç解ãæ·±ãŸãããã®åŸã®åŠç¿ã«å€§ããªèªä¿¡ãšããŒã¹ãäžããŠãããŸãã
åŠãã ã°ããã®ç¥èã¯å¿ãããæãåã£ãŠããã°ã©ã ãäœæããŠã¿ãŠãã ããããããŠãäœãåé¡ãçãããšãã¯ããã®ã¬ã€ããåèã«ãèªèº«ã§åé¡è§£æ±ºã«æãã§ã¿ãŠãã ããããã®çµéšããã£ãšããªãã®æé·ã«ç¹ããã¯ãã§ãã
ãã®ã¬ã€ããããªãã®C++ã®åŠç¿ããããŠããã°ã©ãã³ã°ã®äžçãžã®äžæ©ãèžã¿åºãå©ããšãªãã°å¹žãã§ãã