(cpprefjpãç·šéããã«ã¯ ããã³ cpprefjpã§ã®Markdownèšæ³ã®å¶éãšæ¡åŒµ ãå ã«èªãã§äžããã)
(
ãµã³ãã«ã³ãŒãã¯æç« äžã®ã©ã®éšåã§æžããŠã倧äžå€«ã§ããé²èЧè
ã®çè§£ãå©ããããã«å¿
èŠã ãšæãããšããã§å
¥ããŠãã ããã
ãã®éæ¡åŒµæ§æã§ããexampleã¿ã°ãã«ãŒã«ã«åŸã£ãŠä»ããã³ã³ãã€ã«ã»å®è¡å¯èœã«ããããšãæ€èšããŠãã ããã
)
void definition(); // 颿°ã»å€æ°ã»å®æ°ã®å®£èšãèšè¿°ããŸãã
(éæšå¥šã»åé€ãšãªã£ãå Žåã¯ããã®æšãèšèŒãã代ããã®æ©èœã«èªå°ããŸã)
(äŸïŒãã®é¢æ°ã¯ãC++14ããéæšå¥šãšãªããC++17ã§åé€ãããã代ããã«shuffle()颿°ã䜿çšããããšã)
æŠèŠ
(ããã«ã¯ã颿°ã»å€æ°ã»å®æ°ã®æŠèŠãèšè¿°ããŸããå¿ é äºé ã§ãã)
(å¿ èŠãªé ç®ãçç¥ããå Žåã«ã¯ãã(å·çäž)ããšæžããŠãããŠãã ããã)
èŠä»¶
(ããã«ã¯ã颿°ãå®è¡ããããã®äºåæ¡ä»¶ãåãžã®èŠä»¶ãªã©ãèšè¿°ããŸãããšãã«ãªããã°ãé ç®ãåé€ããŠãã ããããã®é ç®ã¯ãä»åŸã¯ããã³ãã¬ãŒããã©ã¡ãŒã¿å¶çŽãã驿 ŒèŠä»¶ããäºåæ¡ä»¶ããäºåŸæ¡ä»¶ããªã©ããã现ååãããé ç®ã§èšèŒããŠãã ããã)
ãã³ãã¬ãŒããã©ã¡ãŒã¿å¶çŽ
(ããã«ã¯ã颿°ããªãŒããŒããŒã解決ã«åå ããããã®æ¡ä»¶ãèšèŒããŸããSFINAE-friendlyãªé¢æ°ã®æ¡ä»¶ãå¶çŽãã³ãã¬ãŒãã«ãããªãŒããŒããŒãã®æ¡ä»¶ãªã©ãèšèŒããŸãã)
驿 ŒèŠä»¶
(ããã«ã¯ãæºãããªããã°ããã°ã©ã ãäžé©æ ŒãšãªãèŠä»¶ãèšèŒããŸããstatic_assertã颿°ã®delete宣èšãªã©ã«çžåœããŸããèŠæ Œã§ã¯Mandatesã®é
ç®ã§ãã)
äºåæ¡ä»¶
(ããã«ã¯ã颿°ãå®è¡ããããã®å€ã®äºåæ¡ä»¶ãèšè¿°ããŸããå¥çŽå±æ§ã®[[expects]]ã«çžåœããŸãã)
å ç¢åãããäºåæ¡ä»¶
(ããã«ã¯ã颿°ãå®è¡ããããã®å€ã®äºåæ¡ä»¶ãèšè¿°ããŸããèŠæ Œã§ã¯Hardened preconditionsã®é ç®ã§ãã)
广
(ããã«ã¯ã颿°ã®å éšã§çºçãã广ãèšè¿°ããŸããæ»ãå€ãããªããããªé¢æ°ã®å Žåã«ã¯ãé ç®ãåé€ããŠãã ããã)
åææäœ
(ããã«ã¯ã颿°ã®åææäœã«ã€ããŠèšè¿°ããŸããèŠæ Œã® Synchronization èŠçŽ ã«å¯Ÿå¿ããŸãã察å¿èŠçŽ ããªãå Žåã¯ãé ç®ãåé€ããŠãã ããã)
æ»ãå€
(ããã«ã¯ã颿°ã®æ»ãå€ãèšè¿°ããŸããæ»ãå€ã®åãvoidã®å Žåã¯ãããªãããšèšè¿°ããŠãã ããã)
äºåŸæ¡ä»¶
(ããã«ã¯ã颿°ãå®è¡ããçµæãæºããã¹ãäºåŸæ¡ä»¶ãèšè¿°ããŸããå¥çŽå±æ§ã®[[ensures]]ã«çžåœããŸãã)
èšç®é
(ããã«ã¯ãã¢ã«ãŽãªãºã ã®èšç®éãèšè¿°ããŸããèŠæ Œäžãšãã«æèšããªããã°ãé ç®ãåé€ããŠãã ããã)
äŸå€
(ããã«ã¯ãäŸå€éåºã®æç¡ãäŸå€éåºã®æ¡ä»¶ãšéåºãããäŸå€ãäŸå€ãéåºããªãæ¡ä»¶ãäŸå€éåºåŸã®å€æ°ã»ãªããžã§ã¯ãã®ç¶æ
(äŸå€å®å
šæ§) ãªã©ãèšè¿°ããŸããnoexceptãªããæããªãããèšè¿°ããŸããèŠæ Œäžãšãã«æèšããªããã°ãé
ç®ãåé€ããŠãã ããã)
ããªãã¢ã«ã«å®çŸ©ãããæ¡ä»¶
(ã³ã³ã¹ãã©ã¯ã¿ãä»£å ¥æŒç®åãªã©ã®ç¹æ®é¢æ°ãããªãã¢ã«ã«å®çŸ©ãããæ¡ä»¶ãèšè¿°ããŸãã)
deleteå®çŸ©ãããæ¡ä»¶
(颿°ãdeleteå®çŸ©ãããæ¡ä»¶ãèšè¿°ããŸãã)
宿°åŒã«è©äŸ¡ãããæ¡ä»¶
(颿°ãconstexprè©äŸ¡ãããæ¡ä»¶ãèšè¿°ããŸãã)
explicitã«ãªãæ¡ä»¶
(ã³ã³ã¹ãã©ã¯ã¿ã倿æŒç®åãexplicitã«ãªãæ¡ä»¶ãèšè¿°ããŸãã)
åè
(ããã«ã¯ã颿°ã»å€æ°ã»å®æ°ã説æããã«ããã£ãŠã®ãè£è¶³äºé ãèšè¿°ããŸãããšãã«ãªããã°ãé ç®ãåé€ããŠãã ããã)
ãã®æ©èœãå¿ èŠã«ãªã£ãèæ¯ã»çµç·¯
(ããã«ã¯ããã®æ©èœãå¿ èŠã«ãªã£ãèæ¯ãçµç·¯ãèšè¿°ããŸãããã®æ©èœã§è§£æ±ºãããåé¡ã¯äœã ã£ãã®ãã¯ããŠãŒã¶ãŒããã®èšèªæ©èœãå®éã«äœ¿ãäžã§éèŠãªæ å ±ãšãªããŸããäœè£ããã£ããæžããŠãã ãã)
éæšå¥šã»åé€ã®è©³çް
(éæšå¥šã»åé€ãšãªã£ãèæ¯ãèšèŒããŸãã)
äŸ
// (ããã«ã¯ã颿°ã»å€æ°ã»å®æ°ã解説ããããã®ããµã³ãã«ã³ãŒããèšè¿°ããŸãã)
// (ã€ã³ã¯ã«ãŒããšmain()颿°ãå«ããå®è¡å¯èœãªãµã³ãã«ã³ãŒããèšè¿°ããŠãã ããããã®ãããªã³ãŒããããã¯ã«ã¯exampleã¿ã°ãä»ããŸãã)
#include <iostream>
int main()
{
int variable = 0;
std::cout << variable << std::endl;
}
(ã³ãŒããããã¯äžã®èå¥åã«ãæåè²ãä»ããäŸã§ãã)
åºå
0
(ããã«ã¯ããµã³ãã«ã³ãŒãã®å®è¡çµæãèšè¿°ããŸããäœãåºåããªãå Žåã¯ãé
ç®ãåé€ããã空ã®åºåã«ããŠãã ããã)
(å®è¡çµæãåŠçç³»ã»å®è¡ç°å¢ã«ãã£ãŠç°ãªãå Žåã¯ãé
ç®åããåºåäŸãã«å€æŽããå¯èœã§ããã°ãã®çç±ã䜵èšããŠãã ããã)
å®è£ äŸ
// (ããã«ã¯ããã®é¢æ°ã»å€æ°ã»å®æ°ã®ãå®è£
äŸãèšè¿°ããŸãã)
// (ãšãã«å¿
èŠããªããšå€æããå Žåãé
ç®ãåé€ããŠãã ããã)
ããŒãžã§ã³
èšèª
- C++11
åŠçç³»
- Clang: 1.9 â , 2.9 â , 3.0 â , 3.1 â , 3.2 â , 3.3 â
- GCC: 4.3.6 â , 4.4.7 â , 4.5.3 â , 4.6.3 â , 4.7.2 â , 4.8.1 â
- ICC: 10.1 â , 11.0 â , 11.1 â , 12.0 â
- Visual C++: 2003 â , 2005 â , 2008 â , 2010 â , 2012 â
(ããã«ã¯ããã®æ©èœãååšããèšèªã®ããŒãžã§ã³ãšã確èªããšããã³ã³ãã€ã©ãšãã®ããŒãžã§ã³ãèšè¿°ããŸãã)
(ãããã®é
ç®ãåé€ããå ŽåãC++98ã®ããããç°å¢ã§äœ¿çšã§ããããšãæå³ããŸãã)
(確èªã®ãã¹ãã§ããªããšãã¯ã??ãèšè¿°ããŠãã ããã)
åè
(åŠçç³»ããšã«ååšãããã°ã泚æäºé ãèšè¿°ããŸãããšãã«ãªãå Žåã¯ãé ç®ãåé€ããŠãã ããã)
é¢é£é ç®
(ããã«ã¯ããã®æ©èœãšé¢é£ã®ããcpprefjpãµã€ãå ã®é ç®ãžã®ãªã³ã¯ãèšè¿°ããŸãããšãã«å¿ èŠããªããšå€æããå Žåãé ç®ãåé€ããŠãã ããã)
åç §
(ããã«ã¯ããã®é¢æ°ã»å€æ°ã»å®æ°ãçè§£ããã«ããã£ãŠã®åèè³æããé¢é£ããæ©èœãžã®ãªã³ã¯ãèšè¿°ããŸãããšãã«å¿ èŠããªããšå€æããå Žåãé ç®ãåé€ããŠãã ããã)