1. ã¯ããã«
åããŸããŠããã®ããã°ã§ã¯ããã°ã©ãã³ã°èšèªã®äžã€ã§ããC++ã®åŠç¿ãå§ããã«ããã£ãŠã®ç°å¢æ§ç¯æ¹æ³ã«ã€ããŠè©³ãã解説ããŸããC++ãç解ãã䜿ãããªããããã«ãªãããã®ç¬¬äžæ©ã§ããç°å¢æ§ç¯ã¯äžèŠè€éã§å€§å€ãªäœæ¥ã«æãããããããŸãããããã®ã¬ã€ããããã°å®å¿ã§ããããã§ã¯æ©éãC++ã®ç°å¢æ§ç¯ã«é¢ããŠè©³ããèŠãŠãããŸãããã
1.1 C++ã®éèŠæ§ãšæ±çšæ§
C++ã¯ãã»ãã®å€ãã®ããã°ã©ãã³ã°èšèªãšåæ§ããã®ç©ããšãçŸè±¡ãæçã§é©ç¢ºã«è¡šçŸããå·¥å
·ã§ãããããããªãããã»ã©ãŸã§ã«åºã䜿ãããŠããã®ã§ãããã? ãã®çãã¯
1.2 C++ç°å¢æ§ç¯ã®ç®ç
ããã§ã¯ããªãC++ã®ç°å¢æ§ç¯ãå¿ èŠãªã®ã§ãããããããã°ã©ã ãæžãããã«ã¯ããã¡ããšåäœããç°å¢ãå¿ èŠã§ããããã¯ã建ç©ã建ãŠãããã«åºãåå°ãå¿ èŠãªã®ãšåãã§ããC++ã®ç°å¢æ§ç¯ãšã¯ããã®åå°ãäœãããšã«çžåœããŸããããã°ã©ã ãå®è¡ããããã®ã³ã³ãã€ã©ããšãã£ã¿ããããã¬ãŒãªã©ãå¿ èŠãªããŒã«ãæããããšã§ãã¹ã ãŒãºã«C++ãåŠç¿ããé ã®äžã«ããã¢ã€ãã¢ã圢ã«ããããšãã§ããŸããããããŠæŽåãããç°å¢ã®äžã§ãããªãã®ããã°ã©ãã³ã°ã¹ãã«ã¯å€§ãã«è±éãã§ãããã
2. C++察å¿IDEã®çŽ¹ä»
C++ããã°ã©ãã³ã°ãå¹ççã«è¡ãã«ã¯ãIDEïŒIntegrated Development EnvironmentïŒçµ±åéçºç°å¢ïŒã®å©çšãæ¬ ãããŸãããIDEã¯ã³ãŒãã®äœæãã³ã³ãã€ã«ããããã°ãªã©ãéçºå šè¬ãäžå çã«ç®¡çããããŒã«ã§ãC++ã«å¯Ÿå¿ããå€ãã®IDEãå©çšå¯èœã§ããããã§ã¯ãVisual StudioãCode::BlocksãEclipseãCLionã«ã€ããŠçŽ¹ä»ããŸãã
2.1 Visual Studio
Visual Studioã¯ãMicrosoftãæäŸããŠããIDEã®äžã€ã§ããWindowsç°å¢ã§ã®C++éçºã«éåžžã«é©ããŠãããè±å¯ãªã©ã€ãã©ãªãããŒã«ã®ãµããŒãã匷åãªãããã¬ãçŽæçãªUIãªã©ã§è©äŸ¡ãããŠããŸãããŸãããªãŒãã³ãœãŒã¹ã³ãã¥ããã£ãšã®åŒ·ãçµã³ã€ãããã€ã³ãã§ãå€ãã®æ¡åŒµãæäŸãããŠããŸãã
2.2 Code::Blocks
Code::Blocksã¯è»œéã§ãã¯ãã«ãªIDEã§ãWindowsãMacãLinuxã®å šãŠã®ç°å¢ã«å¯Ÿå¿ããŠããŸãããã©ã°ã€ã³ã·ã¹ãã ãæ¡çšããŠãããæ©èœãèªç±ã«è¿œå ã»åé€ããããšãã§ããŸããåå¿è ã«ã䜿ãããããäœããç¡åã§å šæ©èœãå©çšã§ãããšããå©ç¹ããããŸãã
2.3 Eclipse
Eclipseã¯Javaãå§ããšããå€ãã®ããã°ã©ãã³ã°èšèªã«å¯Ÿå¿ããIDEã§ããã©ã°ã€ã³ãçšããããšã§C++ã«ã察å¿ããŸããEclipseã¯ãã®é«æ©èœãããç£æ¥çã§ãåºãçšããããŠããŸãããŸãããªãŒãã³ãœãŒã¹ã§ããããèªç±ã«ã«ã¹ã¿ãã€ãºããããšãå¯èœã§ãã
2.4 CLion
CLionã¯JetBrains瀟ãæäŸããC++å°çšã®IDEã§ãWindowsãMacãLinuxå šãŠã«å¯Ÿå¿ããŸããCLionã®ç¹åŸŽã¯ãéåžžã«é«åºŠãªã³ãŒã解æãšãªãã¡ã¯ã¿ãªã³ã°æ©èœãåããŠããããšã§ãããŸãã匷åãªãããã¬ãçµ±åç管çãã³ãŒãè£å®æ©èœãªã©ãæèŒããŠããŸãã
3. C++ç°å¢æ§ç¯ïŒWindows
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãæãäžè¬çãªWindowsç°å¢ã«ãããC++ã®éçºç°å¢æ§ç¯ã«ã€ããŠèª¬æããŸããæã ã䜿çšããIDEã¯ãVisual StudioãšCode::Blocksã§ãããããã¯C++éçºã§éåžžã«ãã䜿ãããIDEã§ãã®ã§ãåŠç¿ã®äžç°ãšããŠç解ãæ·±ããŠãããŸãããã
3.1 Visual Studioãå©çšããç°å¢æ§ç¯
Visual Studioã¯ãMicrosoftãæäŸããçµ±åéçºç°å¢ïŒIDEïŒã§ãããWindowsã§ã®C++éçºã«éåžžã«é©ããŠããŸããæåã«ãå ¬åŒãµã€ãããVisual Studio CommunityïŒç¡æçïŒãããŠã³ããŒãããŸãããã
ã€ã³ã¹ããŒã©ãèµ·åããããã.NET desktop developmentããšãDesktop development with C++ããéžæãããInstallããã¿ã³ãã¯ãªãã¯ããŸããããã«ãããC++ã§ã®éçºã«å¿ èŠãªã³ã³ããŒãã³ãããã¹ãŠã€ã³ã¹ããŒã«ãããŸãã
ã€ã³ã¹ããŒã«ãå®äºããããVisual Studioãèµ·åãããCreate a new projectããã¯ãªãã¯ããŸãã次ã«ããConsole Appããéžæãããããžã§ã¯ãåãå ¥åããŸãã
以äžã§åºæ¬çãªç°å¢æ§ç¯ã¯å®äºã§ããå³åŽã®ãSolution ExplorerããããœãŒã¹ãã¡ã€ã«ãéžæãããBuild and Runããã¿ã³ã§ããã°ã©ã ãå®è¡ããããšãã§ããŸãã
3.2 Code::Blocksãå©çšããç°å¢æ§ç¯
Code::Blocksã¯ã軜éã§äœ¿ããããC++å°çšã®IDEã§ããWindowsã ãã§ãªããLinuxãMacã§ãå©çšå¯èœã§ãã
å ¬åŒãµã€ãããææ°çãããŠã³ããŒãããã€ã³ã¹ããŒã©ãå®è¡ããŸãããNextããã¯ãªãã¯ãé²ããŠããããInstallããã¯ãªãã¯ãããšã€ã³ã¹ããŒã«ãå§ãŸããŸãã
ãDo you want to run Code::Blocks now?ããšããã¡ãã»ãŒãžã衚瀺ããããããYesããéžæããéããŠã£ã¶ãŒãã§ãGNU GCC CompilerããéžæãããŠããããšã確èªããŸãã
æ°èŠãããžã§ã¯ãã®äœæã¯ãã¡ãã¥ãŒããŒã®ãFileããããNewãããProject…ããéžæããŸãããããŠãä»åã¯ãConsole applicationããéžæããC++èšèªèšå®ãè¡ããŸãã
ããã§ãCode::Blocksã䜿çšããç°å¢æ§ç¯ãå®äºããŸãããå·ŠåŽã®ãBuild and Runãã¢ã€ã³ã³ãã¯ãªãã¯ãããšãäœæããããã°ã©ã ãå®è¡ããããšãã§ããŸãã
4. C++ç°å¢æ§ç¯ïŒMac
ãã®ç« ã§ã¯ãMacäžã§C++ã®éçºç°å¢ãæ§ç¯ããæ¹æ³ã«ã€ããŠèª¬æããŸããå ·äœçã«ã¯ãXcodeãšEclipseãšãã2ã€ã®äž»èŠãªIDEãçšããç°å¢æ§ç¯ã«ã€ããŠè§£èª¬ããŸãã
4.1 Xcodeãå©çšããç°å¢æ§ç¯
ãŸããMacãŠãŒã¶ãŒã«ãšã£ãŠçæ³çãªIDEãšèšãã°ãAppleãæäŸããŠããXcodeã§ããXcodeã¯C++ã ãã§ãªããObjective-CãSwiftãªã©ã®Appleé¢é£ã®èšèªããµããŒãããŠããŸãã
Xcodeãã€ã³ã¹ããŒã«ããã«ã¯ã以äžã®æé ã«åŸããŸãã
- Mac App Storeãéããæ€çŽ¢ããã¯ã¹ã«ãXcodeããšå ¥åããŸãã
- æ€çŽ¢çµæããXcodeãéžæããããŠã³ããŒããã¯ãªãã¯ããŸããç¡æã§ããŠã³ããŒãã§ããŸãã
- ããŠã³ããŒããå®äºããããXcodeãéããç®çã®ãããžã§ã¯ããæ°èŠäœæããŸãã
- Xcodeã®äžã«ã¯ãGCCãLLVMãªã©ã®ã³ã³ãã€ã©ãæ¢ã«çµã¿èŸŒãŸããŠããããããããã®èšå®ã¯äžèŠã§ãã
ããã§ãMacäžã§XcodeãçšããC++ã®ç°å¢æ§ç¯ãå®äºããŸããã次ã«ãEclipseãçšããç°å¢æ§ç¯æ¹æ³ã«ã€ããŠè§£èª¬ããŸãã
4.2 Eclipseãå©çšããç°å¢æ§ç¯
Eclipseã¯ãJavaã®éçºã«åºã䜿ãããŠããIDEã§ãããC++ã®éçºã«ãå©çšã§ããŸããEclipseã®C++éçºç°å¢ãå©çšããã«ã¯ããEclipse CDTãïŒC/C++ Development ToolingïŒãšãããã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
Eclipseãã€ã³ã¹ããŒã«ããã«ã¯ã以äžã®æé ã«åŸããŸãã
- æåã«ãJavaãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŸããTerminalãéãããjava -versionããå®è¡ããJavaã®ããŒãžã§ã³æ å ±ã衚瀺ãããããšã確èªããŸãã
- Eclipseã®å ¬åŒãŠã§ããµã€ãã«ã¢ã¯ã»ã¹ããããŠã³ããŒãããŒãžãããEclipse IDE for C/C++ DevelopersããããŠã³ããŒãããŸãã
- ããŠã³ããŒãããEclipseãã€ã³ã¹ããŒã«ããèµ·åããŸãã
- Eclipseãååèµ·åãããšãã¯ãŒã¯ã¹ããŒã¹ã®å Žæãèãããã®ã§ãç·šéãããã¡ã€ã«ãä¿åãããã£ã¬ã¯ããªãæå®ããŸãã
- æ°èŠC++ãããžã§ã¯ããäœæãããšãEclipseã®C++ç°å¢ãå©çšå¯èœã«ãªããŸãã
以äžã§ãMacäžã§ã®EclipseãçšããC++ã®ç°å¢æ§ç¯ãå®äºããŸããã次ã«é²ãåã«ãèªèº«ã®äœæ¥ç°å¢ã§ãã£ãããšããã°ã©ã ãåäœããããšã確èªããŸãããã
5. C++ç°å¢æ§ç¯ïŒLinux
ããã§ã¯Linuxäžã§ã®C++ç°å¢æ§ç¯ã«ã€ããŠèª¬æããŸããäž»ã«EclipseãšCLionã®äºã€ã®ç°ãªãIntegrated Development EnvironmentïŒIDEïŒã®èšå®æ¹æ³ã«ã€ããŠè§£èª¬ããŸãã
5.1 Eclipseãå©çšããç°å¢æ§ç¯
Eclipseã¯åºãå©çšãããŠãã匷åãªãªãŒãã³ãœãŒã¹ã®IDEã§ããç¹ã«Javaéçºè ã«ã¯éŠŽæã¿ãæ·±ããããããŸããããC/C++éçºè ã«å¯Ÿå¿ããç°å¢ãšããŠEclipse CDT(C/C++ Development Tooling)ãæäŸãããŠããŸãã
ãŸãã¯ããã«ãEclipseãã€ã³ã¹ããŒã«ããããã«Linuxã®ã¿ãŒããã«ãéããŠããsudo apt install eclipseããå®è¡ããŸãããã¹ã¯ãŒããèãããããšãããã®ã§ããã¹ã¯ãŒããå ¥åããŸããã€ã³ã¹ããŒã«å®äºåŸãEclipseãèµ·åããŸãã
Eclipseã®ã¡ãã¥ãŒãããHelpããã¯ãªãã¯ãããEclipse Marketplaceããéžãã§ãã ãããããã§ãCDTããæ€çŽ¢ããèŠã€ããããGoããã¯ãªãã¯ããŠãã ãããããã«ãããC/C++éçºç°å¢ã®ã€ã³ã¹ããŒã«ãå§ãŸããŸãã
ãã¹ãŠã®ã€ã³ã¹ããŒã«ãå®äºããããåèµ·åããŸããããã§Eclipseãå©çšããLinuxäžã§ã®C++ç°å¢æ§ç¯ãå®äºããŸããã
5.2 CLionãå©çšããç°å¢æ§ç¯
次ã«ãCLionãçšããç°å¢æ§ç¯ã®æ¹æ³ã解説ããŸããCLionã¯JetBrainsãæäŸãããC++å°çšã®IDEã§ãå€ãã®æ©èœãæäŸããŠããŸãã
CLionã®ã€ã³ã¹ããŒã«ã¯ãã®å ¬åŒãŠã§ããµã€ãããè¡ããŸãã
ãŸãã¯ããã«ãJetBrainsã®å ¬åŒãµã€ãã«ã¢ã¯ã»ã¹ããCLionãããŠã³ããŒãããŸããããŠã³ããŒããã.tar.gzãã¡ã€ã«ãæœåºããæœåºãããã£ã¬ã¯ããªå ã«ãããbinããã£ã¬ã¯ããªã«ç§»åããŸãã
ããã§ãã¿ãŒããã«ãéããã®ãbinããã£ã¬ã¯ããªã«cdã³ãã³ãã§ç§»åãã’./clion.sh’ãšå ¥åããŠCLionãèµ·åããŸãã
CLionèµ·ååŸã«ã¯ã©ã€ã»ã³ã¹ã®åæãæ±ããããã®ã§ãå¿ èŠãªæç¶ãããããªã£ãåŸãCLionã䜿çšããããšãã§ããŸãã
ãã®ããã«ããŠãEclipseãšCLionãçšããLinuxã§ã®C++ç°å¢æ§ç¯ãè¡ãããšãã§ããŸãã
6. ã³ã³ãã€ã©ã®èšå®
C++ããã°ã©ãã³ã°ãè¡ãããã«ã¯ããœãŒã¹ã³ãŒãããã€ããªã³ãŒãã«å€æããçºã®ã³ã³ãã€ã©ã®èšå®ãå¿ èŠã§ããããã§ã¯ãããçšããããGCCãšClangã«ã€ããŠèª¬æããŸãã
6.1 GCCãšClang
ãŸããGCCïŒGNU Compiler CollectionïŒã«ã€ããŠã§ããGCCã¯ãCãC++ãJavaçãå€ãã®èšèªããµããŒãããŠãããªãŒãã³ãœãŒã¹ã®ã³ã³ãã€ã©ã§ããå®å®æ§ãšé«åºŠãªæé©åã«åªããŠãããæ§ã ãªãã©ãããã©ãŒã ã§å©çšãããŠããŸãã
次ã«Clangã«ã€ããŠèª¬æããŸããClangã¯ãGCCãšåæ§ã«CãC++ãObjective-Cã®ã³ã³ãã€ã«ãå¯èœãªã³ã³ãã€ã©ã§ããäž»ã«Appleãéçºãæšé²ããŠããããã®ããç¹ã«Macçã®Appleç°å¢ã§ãã䜿ãããŠããŸããGCCã«æ¯ã¹ãŠãšã©ãŒã¡ãã»ãŒãžãåããããããã³ã³ãã€ã«é床ãéãçã®ç¹é·ããããŸãã
6.2 ã³ã³ãã€ã©ã®èšå®æ¹æ³
ããã§ã¯GCCãšClangã®èšå®æ¹æ³ã«ã€ããŠèª¬æããŸããæåã«GCCã®èšå®æ¹æ³ã§ãã
ãŸããã³ãã³ãã©ã€ã³ããäžèšã®ããã«å ¥åãGCCãæ¢ã«ã€ã³ã¹ããŒã«ãããŠããã確èªããŸãã
$ gcc --version
次ã«ãGCCããŸã ã€ã³ã¹ããŒã«ãããŠããªãå Žåãã¿ãŒããã«ãã以äžã®ã³ãã³ããå®è¡ãã€ã³ã¹ããŒã«ããŸãã
$ sudo apt install gcc
ãã®ããã«ããŠGCCã®ã€ã³ã¹ããŒã«ãå®äºããC++ã®ã³ã³ãã€ã«ãè¡ããããã«ãªããŸãã
次ã«Clangã®èšå®æ¹æ³ã§ãã以äžã®ã³ãã³ããå®è¡ããClangã®ããŒãžã§ã³ã確èªããŸãã
$ clang --version
Clangãã€ã³ã¹ããŒã«ãããŠããªãå Žåã以äžã®ã³ãã³ãã§Clangãã€ã³ã¹ããŒã«ããŸãã
$ sudo apt install clang
ããã«ãããClangã®å©çšãå¯èœã«ãªããŸãã
以äžãGCCãšClangã®ç°¡åãªèšå®æ¹æ³ã§ããå€ãã®IDEã§ã¯ãããã®ã³ã³ãã€ã©ãèªåçã«æ€åºãèšå®ããŠãããŸãããèªåã§èšå®ããããšã§ããæ·±ãç解ãåŸãããŸãããŸããåé¡ãèµ·ããéã«ãèªèº«ã§å¯Ÿå¿å¯èœãšãªããŸãã
7. C++ããã°ã©ãã³ã°ã®åºæ¬
ããããã¯C++ããã°ã©ãã³ã°ã®åºæ¬ã«ã€ããŠè§£èª¬ããŸããæ°ããªèšèªãåŠã¶ãšããæåã«æžãããã°ã©ã ãšããã°”Hello World”ã§ãããã®åŸãC++ã®åºæ¬çãªèšè¿°æ¹æ³ã«ã€ããŠåŠã³ãŸãã
7.1 C++ã®Hello Worldããã°ã©ã
ãHello Worldãããã°ã©ã ã¯ãããããæãæåãªã³ãŒãã®äžã€ã§ããããã¯ããã°ã©ã ãæ£ããåäœããç¹å®ã®åºåïŒãã®å Žåã¯ãHello, World!ãïŒãçæããããšã確èªããããã®ãã¹ããšããŠäœ¿çšãããŸãã
#includeint main() { std::cout << "Hello World!"; return 0; }
ããã§#include
7.2 C++ã®åºæ¬çãªèšè¿°æ¹æ³
C++ããã°ã©ãã³ã°ã«ãããŠã¯ãããã€ãã®åºæ¬çãªèšè¿°æ¹æ³ãç解ããããšã倧åã§ããããããã®èšè¿°æ¹æ³ã«ã€ããŠè§£èª¬ããŠãããŸãã
ãŸãå€æ°ã®å®£èšã§ããäŸãã°ãæŽæ°åã®å€æ°ã宣èšããå Žåã¯ã次ã®ããã«æžããŸãã
int number;
C++ã§ã¯å€æ°ã䜿çšããåã«ãã®åã宣èšããå¿ èŠããããŸãããã®äŸã§ã¯ãæŽæ°ãæ ŒçŽããå€æ°numberã宣èšãããŠããŸãã
次ã«é¢æ°ã®å®çŸ©ã«ã€ããŠèŠãŠãããŸããããé¢æ°ã¯ç¹å®ã®ã¿ã¹ã¯ãå®è¡ããã³ãŒãã®éåã§ã次ã®ããã«å®çŸ©ããŸãã
void greet() { std::cout << "Hello!"; }
ãã®äŸã§ã¯ãgreetãšããååã®é¢æ°ãå®çŸ©ãããŠããããã®é¢æ°ãåŒã³åºããšãHello!ããšåºåããŸãã
æåŸã«å¶åŸ¡æ§é ã«ã€ããŠåŠã³ãŸããå¶åŸ¡æ§é ã¯ããã°ã©ã ã®å®è¡ãããŒãå¶åŸ¡ããŸããäŸãã°ãifæã¯æ¬¡ã®ããã«æžãããšãã§ããŸãã
int number = 10; if (number > 5) { std::cout << "Number is greater than 5"; }
ãã®ifæã¯ããnumberã5ãã倧ããå Žåã¯ã"Number is greater than 5"ãåºåããããšããæ¡ä»¶ãèšå®ããŠããŸãã
以äžãC++ã®åºæ¬çãªèšè¿°æ¹æ³ã®äžéšã§ãããããã®åºæ¬ãç解ããã°ãããè€éãªããã°ã©ã ãæžãããšãå¯èœã«ãªããŸãã
8. ãããã¬ãŒã®äœ¿çšæ¹æ³
ç§ãã¡ã¯ããããŸã§C++èšèªã®ç°å¢æ§ç¯ã«ã€ããŠåŠãã§ããŸãããããããããã°ã©ãã³ã°åŠç¿ã®äžç°ãšããŠããããã¬ãŒã®äœ¿ãæ¹ãç解ãããã®å©ç¹ã掻çšããããšãéèŠã§ãã
8.1 ãããã¬ãŒãšã¯
ãããã¬ãŒãšã¯ãããã°ã©ã ã®ãã°ïŒãšã©ãŒïŒãèŠã€ããä¿®æ£ããããã®ããŒã«ã§ãããããã¬ãŒã䜿ãããšã§ãã³ãŒãã®æåãäžè¡ãã€ç¢ºèªããäœãèµ·ãã£ãŠããã®ããææ¡ããããšãã§ããŸãã
ããã¯ãã³ãŒããäºæããªãåäœãããå Žåã«ããã®åå ãæ¢ãããã«éåžžã«åœ¹ç«ã¡ãŸãããããã¬ãŒã¯ãå šãŠã®èšèªçšã®IDEã«çµã¿èŸŒãŸããŠãããåºæ¬çãªäœ¿ãæ¹ã¯ã©ãã䌌ãŠããŸãã
8.2 ãããã¬ãŒã®èšå®ãšå©çšæ¹æ³
IDEã«ãããã¬ãŒãèšå®ããæ¹æ³ã¯ã䜿çšããŠããIDEã«ãããŸãããäžè¬çãªæé ã¯ä»¥äžã®ããã«ãªããŸãã
1. IDEå ã§ããããã°ããŸãã¯ããããã¬ãŒãã®ãªãã·ã§ã³ãéžæ 2. ãããã°ãéå§ããããã®ãã¿ã³ãã¯ãªãã¯
ããã§ãããã°ã¢ãŒããéå§ããããã¬ãŒã¯ãã€ã³ãïŒããã°ã©ã ã®ç¹å®ã®äœçœ®ïŒãŸã§å®è¡ãããŸãããã¬ãŒã¯ãã€ã³ãã¯ããããã¬ãŒãããã°ã©ã ã®å®è¡ãäžæåæ¢ãã¹ãå Žæãæå®ããŸãããã¬ãŒã¯ãã€ã³ããèšå®ãããè¡ã¯ãããã¬ãŒã«ãã£ãŠãã€ã©ã€ããããŸãã
ãããã°ã¢ãŒãã§ã¯ãéåžžã¯æ¬¡ã®ãããªæäœãè¡ããŸãïŒ
1. ã¹ããããªãŒããŒïŒçŸåšã®è¡ãå®è¡ãã次ã®è¡ã«ç§»åããŸãã 2. ã¹ãããã€ã³ïŒçŸåšã®è¡ãé¢æ°ã§ããå Žåããã®é¢æ°å ã«ç§»åããŸãã 3. ã¹ãããã¢ãŠãïŒçŸåšã®é¢æ°ããåºãŠãåŒã³åºãå ã®æ¬¡ã®è¡ã«ç§»åããŸãã
ãããã®æäœãéããŠãã³ãŒãã®ç¹å®ã®éšåãã©ã®ããã«åäœããŠããã®ããç解ããäœãåé¡ãåŒãèµ·ãããŠããã®ããç¹å®ããŸãã
å®éã«èªåã§ãããã¬ãŒã䜿ã£ãŠã¿ãããšã§ããã®æçšæ§ãšãã©ã®ããã«åé¡ã解æããã®ãã®æé ãç解ããããšãã§ããã§ãããã
9. C++ããã°ã©ãã³ã°ã®çºå±
C++ã®ç¹åŸŽã®1ã€ã¯ããããçš®é¡ã®ããã°ã©ã ãéçºããããã®æ©èœãæã£ãŠããããšã§ããå ·äœçã«ã¯åºæ¬çãªããŒã¿åãå¶åŸ¡ãããŒãšé¢æ°ã®å®çŸ©ãªã©ãããã«åœãããŸãããããã®ç解ãæ·±ããããšã§ãããé«åºŠãªããã°ã©ã ãéçºããããã®åå°ãšãªããŸãã
9.1 C++ã®åºæ¬çãªããŒã¿å
C++ã«ã¯ããã€ãã®åºæ¬çãªããŒã¿åããããŸãããããã¯å šãŠã®ããã°ã©ã ã«å¿ èŠãªããŒã¿ãæ ŒçŽããããã®ä»çµã¿ã§ã代衚çãªãã®ã«ã¯intïŒæŽæ°ïŒãdoubleïŒå®æ°ïŒãcharïŒæåïŒãstd::stringïŒæååïŒãªã©ããããŸãã
äŸãã°ããintãã¯æŽæ°ãããdoubleãã¯å°æ°ãå«ãæ°å€ãæ±ãã®ã«äœ¿ããŸããäžæ¹ããcharãã¯äžæåã ããããstd::stringãã¯æååãæ ŒçŽã§ããŸãããããã®ããŒã¿åãçµã¿åãããããšã§æ§ã ãªæ å ±ãè¡šçŸããããšãå¯èœã«ãªããŸãã
9.2 ã«ãŒããšåå²ã®èšè¿°æ¹æ³
åŠçã®æµããå¶åŸ¡ããããã«ã¯ã«ãŒããšåå²ãäžå¯æ¬ ã§ããã«ãŒãã¯åãäœæ¥ãç¹°ãè¿ãããã®æ§æã§ããforãããwhileãããã䜿ããŸãã
äŸãã°ããforãã«ãŒãã䜿ããšç¹å®ã®åæ°ã ãåŠçãç¹°ãè¿ãããšãã§ããŸããããã¯é åã®å šèŠçŽ ã«å¯ŸããŠåãæäœãè¡ãããå Žåãªã©ã«äŸ¿å©ã§ããäžæ¹ããwhileãã«ãŒãã¯æ¡ä»¶ãæºããããŠããéãåŠçãç¹°ãè¿ããŸããããã¯ç¹å®ã®æ¡ä»¶ãæºãããããŸã§ããŠãŒã¶ããã®å ¥åãåŸ ã¡ç¶ããããã®ãããªäœ¿ãæ¹ããããŸãã
ãŸããåŠçãåå²ããã«ã¯ãif-elseãã䜿ããŸããããã¯æ¡ä»¶ã«ãã£ãŠåŠçãå€ãããå Žåã«äœ¿çšããŸããIfã¯æ¡ä»¶ããã¹ãããæ¡ä»¶ãçïŒtrueïŒã§ããã°ããifããããã¯å ã®ã³ãŒããå®è¡ãããŸããæ¡ä»¶ãåœïŒfalseïŒã§ããã°ããelseããããã¯å ã®ã³ãŒããå®è¡ãããŸãã
9.3 é¢æ°ã®å®çŸ©ãšå©çš
ããã°ã©ã ãæ§æããéèŠãªèŠçŽ ã®ã²ãšã€ãé¢æ°ã§ããé¢æ°ã¯ç¹å®ã®ã¿ã¹ã¯ãå®è¡ããã³ãŒãã®ãŸãšãŸãã§ãé¢æ°ãå®çŸ©ããããšã§ã³ãŒãã®åå©çšæ§ãšå¯èªæ§ãé«ããããšãã§ããŸãã
é¢æ°ã¯ãã©ã¡ãŒã¿ãããªã¬ãŒãšããŠåäœããã¿ã¹ã¯ãå®è¡ããåŸã«çµæãè¿ãããšãã§ããŸããé¢æ°ã®ãã©ã¡ãŒã¿ã¯ãé¢æ°ãã©ã®ããã«åäœãããã決å®ããæ å ±ãæäŸããŸããäºãå®çŸ©ããé¢æ°ã¯åãæäœãäœåºŠãè¡ãå Žåã«äŸ¿å©ã§ãåãã³ãŒãã2åæžããã«æžã¿ãŸãã
10. ãŸãšã
ãããŸã§ã«åŠãã å 容ãèžãŸããäžã§ãC++ã®ç°å¢æ§ç¯ã®ãã€ã³ããšãC++ã®åŠç¿ã®é²ãæ¹ã«ã€ããŠãŸãšããŠãããŸãããã
10.1 C++ç°å¢æ§ç¯ã®ãã€ã³ã
ãŸãC++ç°å¢æ§ç¯ã®ãã€ã³ããšããŠã察象OSã«é©ããIDEã®éžæãæããããŸããWindowsãŠãŒã¶ãŒã¯Visual StudioãCode::BlocksãMacãŠãŒã¶ãŒã¯XcodeãEclipseãLinuxãŠãŒã¶ãŒã¯EclipseãCLionãªã©ãèªèº«ã®OSã«åã£ãéçºç°å¢ãéžã¶ããšãéèŠã§ãã
次ã«é©åãªã³ã³ãã€ã©ã®èšå®ãå¿ èŠäžå¯æ¬ ã§ãGCCãClangãªã©ã®äžè¬çã§å®å®ããã³ã³ãã€ã©ãéžæãèšå®ããŸãããã
ãŸãããããã¬ã掻çšããããšã§ãã³ãŒãã®æåãç解ãããããªãããããããã¬ã®èšå®ãšäœ¿ãæ¹ãææ¡ããããšã倧åã§ãã
10.2 C++åŠç¿ã®é²ãæ¹ãšå匷æ³
C++åŠç¿ã®é²ãæ¹ã«ã€ããŠã¯ããŸã"Hello, World!"ããã°ã©ã ããå§ããããšããå§ãããŸãããããéããŠåºæ¬çãªC++ã®ææ³ãããã°ã©ã ã®æµããç解ããŸãããã
ãã®åŸãC++ã®åºæ¬çãªããŒã¿åãå¶åŸ¡æ§é ïŒã«ãŒããšåå²ïŒãé¢æ°ã®å®çŸ©ãšäœ¿çšæ¹æ³ãé ã«åŠãã§ãããŸããåãããã¯ã«ã€ããŠã¯æãåãããªããåŠã¶ããšã§ãããæ·±ãç解ã§ããã§ãããã
C++åŠç¿ã«ãããŠã¯ãå šäœã®æµããèŠå€±ããªãããã«ããããšã倧åã§ããè€éãªã³ãŒããæŠå¿µã«çŽé¢ããéããåºæ¬ã«ç«ã¡è¿ãããšã§è§£æ±ºã®ç³žå£ãèŠã€ããããããšã§ãããããŸããããé«åºŠãªç¥èãåŸãã«ã¯æžç±ããªã³ã©ã€ã³ãªãœãŒã¹ã掻çšããŸãããã
C++ã®ç°å¢æ§ç¯ãšåŠç¿æ³ã«ã€ããŠçŽ¹ä»ããŸããããç¶ç¶çãªåŠç¿ã倧åã§ããå°ããã€ã§ã確å®ã«ããããŠæ¥œãã¿ãªããåŠãã§ãããŸãããã