C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- æºæä»¶å å«
- æ¡ä»¶å å«
- ææ¬æ¿æ¢å®
- é误æä»¤
- å®ç°å®ä¹çè¡ä¸ºæ§å¶
- æä»¶ååè¡ä¿¡æ¯
- 注é
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >é¢å¤çå¨ > å®ç°å®ä¹çè¡ä¸ºæ§å¶
å®ç°å®ä¹çè¡ä¸ºæ§å¶
å®ç°å®ä¹çè¡ä¸ºå #pragma æä»¤æ§å¶ã
è¯æ³
#pragma è¯ç¨å½¢å
|
(1) | ||||||||
_Pragma ( å符串åé¢é )
|
(2) | (C++11 èµ·) | |||||||
L åç¼ï¼è¥åå¨ï¼ï¼å¤å±å¼å·ï¼åå导/å°¾é空ç½ç¬¦ï¼å°æ¯ä¸ª \" æ¿æ¢ä¸º "ãå°æ¯ä¸ª \\ æ¿æ¢ä¸º \ï¼ç¶åå°ç»æè®°å·åï¼å¦ç¿»è¯é¶æ®µ 3 ä¸ä¸æ ·ï¼ï¼åå¦åå°ç»æä½ä¸º (1) ä¸çè¾å
¥æ¥äºä»¥ä½¿ç¨ãè§£é
pragma æä»¤æ§å¶ç¼è¯å¨çç¹å®äºå®ç°çè¡ä¸ºï¼å¦ç¦ç¨ç¼è¯å¨è¦åææ´æ¹å¯¹é½è¦æ±ã忽ç¥ä»»ä½ä¸è½è¯å«çè¯ç¨ã
éæ åè¯ç¨
ISO C++ è¯è¨æ åå¹¶ä¸è¦æ±ç¼è¯å¨æ¯æä»»ä½è¯ç¨ãä¸è¿ï¼å¤ç§å®ç°é½æ¯æå ç§éæ åçè¯ç¨ï¼
#pragma STDC
ISO C è¯è¨æ åè¦æ± C ç¼è¯å¨æ¯æä¸åä¸ç§è¯ç¨ï¼ä¸äº C++ ç¼è¯å¨ä¾åºåå¨å®ä»¬ç C++ å端ä¸ä»¥ä¸åçç¨åº¦æ¯æå®ä»¬ï¼
#pragma STDC FENV_ACCESS å®å
|
(1) | ||||||||
#pragma STDC FP_CONTRACT å®å
|
(2) | ||||||||
#pragma STDC CX_LIMITED_RANGE å®å
|
(3) | ||||||||
å
¶ä¸ å®å æ¯ ONãOFF å DEFAULT ä¹ä¸ã
ONï¼ååç¥ç¼è¯å¨ï¼ç¨åºå°è®¿é®æä¿®æ¹æµ®ç¹ç¯å¢ï¼è¿æå³çå¯è½æ¨ç¿»æ å¿æµè¯åæ¨¡å¼æ´æ¹ï¼ä¾å¦ï¼å
¨å±å
±ç¨å表达å¼å é¤ï¼ä»£ç ç§»å¨ï¼å常éæå ï¼çä¼åå°è¢«ç¦ç¨ãé»è®¤å¼ç±å®ç°å®ä¹ï¼éå¸¸æ¯ OFFãONã+v2
)ï¼å |x+iy| = âx2
+y2
ï¼èä¸èèä¸é´æº¢åºçå¯è½æ§ãæ¢è¨ä¹ï¼ç¨åºåä¿è¯ä¼ éç»è¿äºå½æ°çå¼èå´æ¯åéçãé»è®¤å¼ä¸º
OFFã妿ä¸è¿°ä¸ç§è¯ç¨ç任䏿¡å¹¶éåºç°äºææå¤é¨å£°æä¹å¤ï¼ææææ¾å¼å£°ææå¤åè¯å¥ä¸çææè¯å¥ä¹åï¼åç¨åºçè¡ä¸ºæªå®ä¹ã
注æï¼ä¸æ¯æè¿äº pragma çç¼è¯å¨å¯è½æä¾çä»·çç¼è¯æ¶é项ï¼ä¾å¦ gcc ç -fcx-limited-range å -ffp-contractã
#pragma once
#pragma once æ¯åå°ç»å¤§å¤æ°ç°ä»£ç¼è¯å¨æ¯æçéæ åè¯ç¨ãå½æä¸ªå¤´æä»¶ä¸å å«å®æ¶ï¼æç¤ºç¼è¯å¨åªå¯¹å ¶åæä¸æ¬¡ï¼å³ä½¿å®å¨å䏿ºæä»¶ä¸ï¼ç´æ¥æé´æ¥ï¼è¢«å å«äºå¤æ¬¡ä¹æ¯å¦æ¤ã
黿¢åä¸å¤´æä»¶ç夿¬¡å å«çæ 忹弿¯ä½¿ç¨å å«é²æ¤ï¼
#ifndef LIBRARY_FILENAME_H #define LIBRARY_FILENAME_H // 头æä»¶çå 容 #endif /* LIBRARY_FILENAME_H */
ä»èå¨ä»»ä½ç¿»è¯åå ä¸ï¼è¯¥å¤´æä»¶é¤é¦æ¬¡ä»¥å¤è¢«å 嫿¶é½è¢«æé¤åºç¼è¯ãææç°ä»£ç¼è¯å¨é½è®°å½å¤´æä»¶ä½¿ç¨äºå å«é²æ¤çäºå®ï¼åªè¦è¯¥é²æ¤ä»æå®ä¹ï¼åéå°è¯¥å¤´æä»¶æ¶å°±ä¸ååæå®ãï¼ä¾åè§ gcc ï¼
ä½¿ç¨ #pragma once æ¶ï¼åä¸ä¸ªå¤´æä»¶å¯ä»¥å为
#pragma once // 头æä»¶çå 容
ä¸åäºå¤´æä»¶é²æ¤ï¼è¿æ¡è¯ç¨ä½¿å¾é误å°å¨å¤ä¸ªæä»¶ä¸ä½¿ç¨ç¸åçå®ååå¾ä¸å¯è½ãå¦ä¸æ¹é¢ï¼å 为带 #pragma once çæä»¶æ¯åºäºå ¶æä»¶ç³»ç»å±æ¬¡ç身份ææé¤çï¼æä»¥è¥å¤´æä»¶å¨é¡¹ç®ä¸æå¤ä¸ªä½ç½®ï¼åè¿ä¸è½é²æ¢å å«å®ä¸¤æ¬¡ã
#pragma pack
| æ¬èæªå®æ |
åé
å¤é¨é¾æ¥
- Visual Studio 2015 ä¸ç C++ pragma
- GCC 4.9.2 ææ¥åç Pragma
- IBM AIX XL C 13.1 ä¸çåç¬ pragma æè¿°åæ å pragma
- Sun Studio 11 C++ ç¨æ·æåä¸ç Appendix B. Pragmas
- Intel C++ compiler pragmas çæ¬ 17.0
- HP aCC A.06.25 çåè¡æ³¨è®°ï¼å æ¬ pragmaï¼