C++/CX
ಸಿ + +/ಸಿಎಕ್ಸ್ (ಸಿ + + ಘಟಕ ವಿಸ್ತರಣೆಗಳು) ಎಂಬುದು ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಾಗಿ ಭಾಷೆಯ ಪ್ರಕ್ಷೇಪಣವಾಗಿದೆ. ಇದು ಸಿ + + ಕಂಪೈಲರ್ಗಳಿಗೆ ಭಾಷಾ ವಿಸ್ತರಣೆಯ ರೂಪವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಇದು ಸಿ + + ಪ್ರೋಗ್ರಾಮರ್ಗಳಿಗೆ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ (ವಿನ್ಆರ್ಟಿ) ಎಪಿಐಗಳನ್ನು ಕರೆಯುವ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಬರೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಿ + +/ಸಿಎಕ್ಸ್ ಅನ್ನು ಸಿ + +/ವಿನ್ಆರ್ಟಿ ಭಾಷೆಯ ಪ್ರೊಜೆಕ್ಷನ್ ಆಕ್ರಮಿಸಿದೆ, ಇದು ಸಿ + + ಭಾಷೆಗೆ ವಿಸ್ತರಣೆಯಲ್ಲ; ಬದಲಿಗೆ, ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರಮಾಣಿತ ಆಧುನಿಕ ಐಎಸ್ಒ ಸಿ + + 17 ಹೆಡರ್-ಫೈಲ್ ಆಧಾರಿತ ಗ್ರಂಥಾಲಯವಾಗಿದೆ. ಭಾಷೆಯ ವಿಸ್ತರಣೆಗಳು ಸಿ + +/ಸಿಎಲ್ಐನಿಂದ ವಾಕ್ಯರಚನೆಯನ್ನು ಎರವಲು ಪಡೆಯುತ್ತವೆ ಆದರೆ ಸಾಮಾನ್ಯ ಭಾಷೆಯ ರನ್ಟೈಮ್ ಮತ್ತು ನಿರ್ವಹಿಸಿದ ಕೋಡ್ ಬದಲಿಗೆ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಯೂನಿವರ್ಸಲ್ ವಿಂಡೋಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸ್ಥಳೀಯ ಕೋಡ್ ಅನ್ನು ಗುರಿಯಾಗಿರಿಸಿಕೊಳ್ಳುತ್ತವೆ. ಇದು ಸಿ + +/ಸಿಎಲ್ಐ ನಿರ್ವಹಿಸಿದ ವಿಸ್ತರಣೆಗಳ ಕೋಡರ್ಗಳಿಗೆ ಅರ್ಥಗರ್ಭಿತವಾದ ರೀತಿಯಲ್ಲಿ ಸಿಒಎಂನ ಡಬ್ಲ್ಯುಆರ್ಎಲ್ ಉಪವಿಭಾಗ-ಆಧಾರಿತ ವಿನ್ಆರ್ಟಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾದರಿಯನ್ನು ಯೋಜಿಸುವ ವಾಕ್ಯರಚನೆಯ ಮತ್ತು ಗ್ರಂಥಾಲಯದ ಅಮೂರ್ತತೆಗಳ ಗುಂಪನ್ನು ತರುತ್ತದೆ. ಕೆಳಮಟ್ಟದ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಸಿ + + ಟೆಂಪ್ಲೇಟ್ ಲೈಬ್ರರಿ (ಡಬ್ಲ್ಯುಆರ್ಎಲ್) ಮೂಲಕ ಸ್ಥಳೀಯ ಐಎಸ್ಒ ಸಿ + + ನಿಂದ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ಗೆ ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ. ಆದಾಗ್ಯೂ, ಡಬ್ಲ್ಯುಆರ್ಎಲ್ ಅನ್ನು ಸಿ + +/ವಿನ್ಆರ್ಟಿ ಸಹ ಆಕ್ರಮಿಸಿದೆ. ವಿಸ್ತರಣೆಯ ವಾಕ್ಯರಚನೆಯು ಸಿ + +/ಸಿಎಕ್ಸ್ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ಗಾಗಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗಾಗಿ ವಾಕ್ಯರಚನೆಯ ವಿಸ್ತರಣೆಗಳನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ಒಟ್ಟಾರೆ ಪ್ಲಾಟ್ಫಾರ್ಮ್-ನಿರ್ದಿಷ್ಟವಲ್ಲದ ವಾಕ್ಯರಚನೆಯು ಸಿ + + 11 ಮಾನದಂಡದೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ವಿನ್ಆರ್ಟಿ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ರೆಫ್ ನ್ಯೂ ಬಳಸಿ ರಚಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸಿ + +/ಸಿಎಲ್ಐನಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆದ ಹ್ಯಾಟ್ ಸಂಕೇತದೊಂದಿಗೆ ಘೋಷಿಸಲಾದ ಅಸ್ಥಿರಗಳಿಗೆ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ. ಫೂ ^ ಫೂ = ರಿಫ್ಯೂ ನ್ಯೂ ಫೂ (); ಒಂದು ವಿನ್ಆರ್ಟಿ ವೇರಿಯೇಬಲ್ ಕೇವಲ ವರ್ಚುವಲ್ ಮೆಥಡ್ ಟೇಬಲ್ಗೆ ಪಾಯಿಂಟರ್ ಮತ್ತು ಆಬ್ಜೆಕ್ಟ್ನ ಆಂತರಿಕ ಡೇಟಾಗೆ ಪಾಯಿಂಟರ್ ಆಗಿದೆ. ಉಲ್ಲೇಖ ಎಣಿಕೆ ಒಂದು ವಿನ್ಆರ್ಟಿ ವಸ್ತುವನ್ನು ಉಲ್ಲೇಖ ಎಣಿಕೆ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಹೀಗಾಗಿ ಹಂಚಿದ _ ಪಿಟಿಆರ್ಎಸ್ನಲ್ಲಿ ಸುತ್ತುವರಿದಿರುವ ಸಾಮಾನ್ಯ ಸಿ + + ವಸ್ತುಗಳಂತೆಯೇ ನಿರ್ವಹಿಸುತ್ತದೆ. ಒಂದು ವಸ್ತುವಿಗೆ ಕಾರಣವಾಗುವ ಯಾವುದೇ ಉಲ್ಲೇಖಗಳು ಉಳಿದಿಲ್ಲದಿದ್ದಾಗ ಅದನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ. ಕಸ ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಯಾವುದೇ ತೊಡಕುಗಳಿಲ್ಲ. ಆದಾಗ್ಯೂ, gcnew ಎಂಬ ಕೀವರ್ಡ್ ಅನ್ನು ಭವಿಷ್ಯದ ಸಂಭಾವ್ಯ ಬಳಕೆಗಾಗಿ ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ. ತರಗತಿಗಳು ರನ್ಟೈಮ್ ತರಗತಿಗಳು ವಿಶೇಷ ರೀತಿಯ ರನ್ಟೈಮ್ ತರಗತಿಗಳಿವೆ, ಅವು ಘಟಕಗಳ ವಿಸ್ತರಣೆಯ ರಚನೆಗಳನ್ನು ಹೊಂದಿರಬಹುದು. ಇವುಗಳನ್ನು ಸರಳವಾಗಿ ರೆಫ್ ಕ್ಲಾಸ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಏಕೆಂದರೆ ಅವುಗಳನ್ನು ರೆಫ್ ಕ್ಲಾಸ್ ಬಳಸಿ ಘೋಷಿಸಲಾಗುತ್ತದೆ. ಸಾರ್ವಜನಿಕ ರೆಫ್ ಕ್ಲಾಸ್ ಮೈಕ್ಲಾಸ್ {}; ಭಾಗಶಃ ತರಗತಿಗಳು ಸಿ + +/ಸಿಎಕ್ಸ್ ಭಾಗಶಃ ತರಗತಿಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ಈ ವೈಶಿಷ್ಟ್ಯವು ಒಂದೇ ವರ್ಗದ ವ್ಯಾಖ್ಯಾನವನ್ನು ಅನೇಕ ಕಡತಗಳಲ್ಲಿ ವಿಭಜಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಮುಖ್ಯವಾಗಿ ಡೆವಲಪರ್ ಬರೆದ ತರ್ಕವನ್ನು ಮುರಿಯದಂತೆ ಪ್ರತ್ಯೇಕ ಕಡತದಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲು XAML ಗ್ರಾಫಿಕಲ್ ಯೂಸರ್ ಇಂಟರ್ಫೇಸ್ ವಿನ್ಯಾಸ ಸಾಧನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಭಾಗಗಳನ್ನು ನಂತರ ಸಂಕಲನದಲ್ಲಿ ವಿಲೀನಗೊಳಿಸಲಾಗುತ್ತದೆ. ಸಿ #ನಂತಹ. ನೆಟ್ ಭಾಷೆಗಳು ಅನೇಕ ವರ್ಷಗಳಿಂದ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಹೊಂದಿವೆ. ಭಾಗಶಃ ವರ್ಗಗಳು ಇದನ್ನು ಇನ್ನೂ ಸಿ + + ಮಾನದಂಡಕ್ಕೆ ಸೇರಿಸಿಲ್ಲ ಮತ್ತು ಆದ್ದರಿಂದ ಸಿ + + 20 ನಲ್ಲಿಯೂ ಸಹ ಇದನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. GUI-ವಿನ್ಯಾಸಕರಿಂದ ರಚಿಸಲ್ಪಟ್ಟ ಮತ್ತು ನವೀಕರಿಸಲ್ಪಟ್ಟ ಫೈಲ್, ಮತ್ತು ಆದ್ದರಿಂದ ಪ್ರೋಗ್ರಾಮರ್ನಿಂದ ಮಾರ್ಪಡಿಸಬಾರದು. ಮುಖ್ಯ ಪದವನ್ನು ಭಾಗಶಃ ಗಮನಿಸಿ. //foo.private.h #pragma ಒಮ್ಮೆ ಭಾಗಶಃ ರೆಫ್ ಕ್ಲಾಸ್ ಫೂ {ಖಾಸಗಿಃ ಇಂಟ ಐಡಿ _; ಪ್ಲಾಟ್ಫಾರ್ಮ್ಃಃ ಸ್ಟ್ರಿಂಗ್ ^ ನೇಮ್ _;}; ಪ್ರೋಗ್ರಾಮರ್ ಬಳಕೆದಾರ-ಇಂಟರ್ಫೇಸ್ ತರ್ಕವನ್ನು ಬರೆಯುವ ಫೈಲ್. ವರ್ಗದ ಕಂಪೈಲರ್-ರಚಿತ ಭಾಗವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿರುವ ಹೆಡರ್ ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಕೀವರ್ಡ್ ಭಾಗಶಃ ಅಗತ್ಯವಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. //foo.public.h #pragma ಒಮ್ಮೆ #include "foo.private.h" ರೆಫ್ ಕ್ಲಾಸ್ ಫೂ {ಸಾರ್ವಜನಿಕಃ int GetId (); ಪ್ಲಾಟ್ಫಾರ್ಮ್ಃಃ ಸ್ಟ್ರಿಂಗ್ ^ GetName ();}; ಇದು ಭಾಗಶಃ ವರ್ಗದ ಸದಸ್ಯರನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಡತವಾಗಿದೆ. //foo.cpp #include "pch.h" #include "foo.public.h" int fhoo:: GetId () {ರಿಟರ್ನ್ ಐಡಿ _;} ಪ್ಲಾಟ್ಫಾರ್ಮ್ಃಃ ಸ್ಟ್ರಿಂಗ್ ^ foo:: GetName {ರಿಟರ್ನ್ ನೇಮ್ _;} ಜೆನೆರಿಕ್ಸ್ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಮತ್ತು ಹೀಗಾಗಿ C + +/CX ರನ್ಟೈಮ್ ಆಧಾರಿತ ಜೆನೆರಿಕ್ಸ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಕಂಪೈಲ್-ಟೈಮ್ ಕನ್ಸ್ಟ್ರಕ್ಟ್ಗಳಾಗಿರುವ ಸಿ + + ಟೆಂಪ್ಲೆಟ್ಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಜೆನೆರಿಕ್ ಪ್ರಕಾರದ ಮಾಹಿತಿಯು ಮೆಟಾಡೇಟಾದಲ್ಲಿ ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ರನ್ಟೈಮ್ನಲ್ಲಿ ತ್ವರಿತಗೊಳ್ಳುತ್ತದೆ. ಇವೆರಡನ್ನೂ ಕಂಪೈಲರ್ ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಸಂಯೋಜಿಸಬಹುದು. ಜೆನೆರಿಕ್ <ಟೈಪಿನೆಮ್ ಟಿ> ಪಬ್ಲಿಕ್ ರೆಫ್ ಕ್ಲಾಸ್ ಬ್ಯಾಗ್ {ಪ್ರಾಪರ್ಟಿ ಟಿ ಐಟಂ;}; ಮೆಟಾಡೇಟಾ ಎಲ್ಲಾ ವಿನ್ಆರ್ಟಿ ಪ್ರೋಗ್ರಾಂಗಳು ತಮ್ಮ ಘೋಷಿತ ತರಗತಿಗಳು ಮತ್ತು ಸದಸ್ಯರನ್ನು ಮೆಟಾಡೇಟಾ ಮೂಲಕ ಬಹಿರಂಗಪಡಿಸುತ್ತವೆ. . NET ಚೌಕಟ್ಟಿನಿಂದ ರಚಿಸಲಾದ ಮಾನದಂಡವಾದ ಕಾಮನ್ ಲ್ಯಾಂಗ್ವೇಜ್ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ (CLI) ನ ಭಾಗವಾಗಿ ಪ್ರಮಾಣೀಕರಿಸಲಾದ ಸ್ವರೂಪವು ಒಂದೇ ಆಗಿರುತ್ತದೆ. ಈ ಕಾರಣದಿಂದಾಗಿ, ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಅನ್ನು ಗುರಿಯಾಗಿಸುವ ಕೋಡ್ ಅನ್ನು ಸಿ + +/ಸಿಎಕ್ಸ್, ಸಿಎಲ್ಐ ಭಾಷೆಗಳು ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಬಹುದು. ರನ್ಟೈಮ್ ಲೈಬ್ರರಿ ಸಿ + +/ಸಿಎಕ್ಸ್ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಅನ್ನು ಗುರಿಯಾಗಿಸುವ ಗ್ರಂಥಾಲಯಗಳ ಗುಂಪನ್ನು ಹೊಂದಿದೆ. ಇವು ಸಿ + + ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿ ಮತ್ತು ವಿ. ಎನ್. ಆರ್. ಟಿ. ಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ. ಪ್ರಿಪ್ರೊಸೆಸರ್-ಆಧಾರಿತ ಪತ್ತೆಹಚ್ಚುವಿಕೆ _ _ c + +/CX ವಿಸ್ತರಣೆಯನ್ನು _ c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c + +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c +/c #ifdef _ _ ಸಿಪ್ಲಸ್ಪ್ಲಸ್ _ ವಿನ್ಆರ್ಟಿ// ಸಿ + +/ಸಿಎಕ್ಸ್ ನಿರ್ದಿಷ್ಟ ಕೋಡ್ ಇಲ್ಲಿ ಹೋಗುತ್ತದೆ. <ಐಡಿ2 ಸಹ ನೋಡಿ ವಿಂಡೋಸ್ ರನ್ಟೈಮ್ ಉಲ್ಲೇಖಗಳು ಸಿ + +/ಸಿಎಕ್ಸ್ ವಿನ್ಯಾಸದ ಒಳಗಿನ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು-ವಿಷುಯಲ್ ಸಿ + + ಟೀಮ್ ಬ್ಲಾಗ್ ಗೋಯಿಂಗ್ ನೇಟಿವ್ 3: ದಿ ಸಿ + +/ಸಿಎಕ್ಸ್ ಎಪಿಸೋಡ್ ವಿತ್ ಮರಿಯನ್ ಲುಪಾರು-ಚಾನೆಲ್ 9 ವಿನ್ಆರ್ಟಿ ಮತ್ತು ವಿನ್ಎಮ್ಡಿ ಫೈಲ್ಗಳು-ಮಾರಿಯಸ್ ಬಾನ್ಸಿಲಾ ಅವರ ಬ್ಲಾಗ್ ವಿಷುಯಲ್ ಸಿ + + ಲಾಂಗ್ವೇಜ್ ರೆಫರೆನ್ಸ್ (ಸಿ + +/ಸಿಎಕ್ಸ್) ಸಿ + + ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಲಾಂಗ್ವೇಜ್ ಫ್ಯಾಮಿಲಿ ಸಿ + + ಕಂಪೈಲರ್ಗಳು