ВУЗ:
Составители:
Рубрика:
ɨɛɴɹɜɢɬɶ ɢɦɹ ɫɬɪɭɤɬɭɪɧɨɝɨ ɬɢɩɚ MyStruct, ɭɤɚɡɚɬɟɥɶ ɧɚ ɷɬɨɬ ɬɢɩ
PMyStruct ɢ ɬɢɩ ɫɫɵɥɤɢ ɧɚ ɧɟɝɨ RMyStruct, ɬɨ ɟɫɬɶ ɩɨɥɭɱɢɬɶ ɜ ɜɵɯɨɞɧɨɦ
ɬɟɤɫɬɟ ɫɬɪɨɱɤɢ
struct MyStruct;
typedef MyStruct *PMyStruct;
typedef MyStruct &RMystruct;
3.4. ɍɫɥɨɜɧɚɹ ɤɨɦɩɢɥɹɰɢɹ
Ⱦɢɪɟɤɬɢɜɵ ɩɪɟɩɪɨɰɟɫɫɨɪɚ #if, #else, #endif ɢ #elif ɩɨɡɜɨɥɹɸɬ, ɜ
ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɪɟɡɭɥɶɬɚɬɨɜ ɩɪɨɜɟɪɤɢ ɧɟɤɨɬɨɪɵɯ ɭɫɥɨɜɢɣ, ɜɤɥɸɱɚɬɶ ɜ ɩɪɨ-
ɝɪɚɦɦɭ ɨɞɢɧ ɢɡ ɧɟɫɤɨɥɶɤɢɯ ɜɚɪɢɚɧɬɨɜ ɬɟɤɫɬɚ:
#if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ
ɬɟɤɫɬ 1
# else
ɬɟɤɫɬ 2
#endif
ɞɚɥɶɧɟɣɲɢɣ ɬɟɤɫɬ.
ɍɫɥɨɜɢɟ — ɷɬɨ ɤɨɧɫɬɚɧɬɧɨɟ ɜɵɪɚɠɟɧɢɟ, ɤɨɬɨɪɨɟ ɫɬɪɨɢɬɫɹ ɢɡ ɦɚɤɪɨ-
ɢɦɟɧ, ɤɨɧɫɬɚɧɬ ɢ ɡɧɚɤɨɜ ɨɩɟɪɚɰɢɣ, ɜɤɥɸɱɚɹ ɥɨɝɢɱɟɫɤɢɟ ɫɜɹɡɤɢ «
&&» ɢ
«
||». Ⱦɨɩɭɫɤɚɟɬɫɹ ɬɚɤɠɟ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɜɵɪɚɠɟɧɢɹ sizeof(ɢɦɹ_ɬɢɩɚ) ɢ
ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɮɭɧɤɰɢɢ
defined(ɦɚɤɪɨɢɦɹ), ɜɨɡɜɪɚɳɚɸɳɟɣ 1, ɟɫɥɢ
ɷɬɨ ɦɚɤɪɨɢɦɹ ɨɩɪɟɞɟɥɟɧɨ, ɢ 0, ɟɫɥɢ ɨɧɨ ɧɟ ɨɩɪɟɞɟɥɟɧɨ. ȼɦɟɫɬɨ ɞɢɪɟɤɬɢɜɵ
#if defined(DEBUG)
ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ
#ifdef DEBUG
ȼɦɟɫɬɨ
#if !defined(DEBUG)
ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ
#ifndef DEBUG
Ʉɨɦɛɢɧɚɰɢɢ #if - #else ɦɨɝɭɬ ɛɵɬɶ ɜɥɨɠɟɧɧɵɦɢ, ɩɪɢɱɟɦ ɩɨɫɥɟɞɨ-
ɜɚɬɟɥɶɧɨɫɬɶ
#else - #if ɡɚɦɟɧɹɟɬɫɹ ɨɞɧɨɣ ɞɢɪɟɤɬɢɜɨɣ #elif ɫ ɭɫɥɨɜɢɟɦ:
#if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_1
ɬɟɤɫɬ 1
#elif ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_2
ɬɟɤɫɬ_2
#else
40
ɨɛɴɹɜɢɬɶ ɢɦɹ ɫɬɪɭɤɬɭɪɧɨɝɨ ɬɢɩɚ MyStruct, ɭɤɚɡɚɬɟɥɶ ɧɚ ɷɬɨɬ ɬɢɩ
PMyStruct ɢ ɬɢɩ ɫɫɵɥɤɢ ɧɚ ɧɟɝɨ RMyStruct, ɬɨ ɟɫɬɶ ɩɨɥɭɱɢɬɶ ɜ ɜɵɯɨɞɧɨɦ
ɬɟɤɫɬɟ ɫɬɪɨɱɤɢ
struct MyStruct;
typedef MyStruct *PMyStruct;
typedef MyStruct &RMystruct;
3.4. ɍɫɥɨɜɧɚɹ ɤɨɦɩɢɥɹɰɢɹ
Ⱦɢɪɟɤɬɢɜɵ ɩɪɟɩɪɨɰɟɫɫɨɪɚ #if, #else, #endif ɢ #elif ɩɨɡɜɨɥɹɸɬ, ɜ
ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɪɟɡɭɥɶɬɚɬɨɜ ɩɪɨɜɟɪɤɢ ɧɟɤɨɬɨɪɵɯ ɭɫɥɨɜɢɣ, ɜɤɥɸɱɚɬɶ ɜ ɩɪɨ-
ɝɪɚɦɦɭ ɨɞɢɧ ɢɡ ɧɟɫɤɨɥɶɤɢɯ ɜɚɪɢɚɧɬɨɜ ɬɟɤɫɬɚ:
#if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ
ɬɟɤɫɬ 1
# else
ɬɟɤɫɬ 2
#endif
ɞɚɥɶɧɟɣɲɢɣ ɬɟɤɫɬ.
ɍɫɥɨɜɢɟ — ɷɬɨ ɤɨɧɫɬɚɧɬɧɨɟ ɜɵɪɚɠɟɧɢɟ, ɤɨɬɨɪɨɟ ɫɬɪɨɢɬɫɹ ɢɡ ɦɚɤɪɨ-
ɢɦɟɧ, ɤɨɧɫɬɚɧɬ ɢ ɡɧɚɤɨɜ ɨɩɟɪɚɰɢɣ, ɜɤɥɸɱɚɹ ɥɨɝɢɱɟɫɤɢɟ ɫɜɹɡɤɢ «&&» ɢ
«||». Ⱦɨɩɭɫɤɚɟɬɫɹ ɬɚɤɠɟ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɜɵɪɚɠɟɧɢɹ sizeof(ɢɦɹ_ɬɢɩɚ) ɢ
ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɮɭɧɤɰɢɢ defined(ɦɚɤɪɨɢɦɹ), ɜɨɡɜɪɚɳɚɸɳɟɣ 1, ɟɫɥɢ
ɷɬɨ ɦɚɤɪɨɢɦɹ ɨɩɪɟɞɟɥɟɧɨ, ɢ 0, ɟɫɥɢ ɨɧɨ ɧɟ ɨɩɪɟɞɟɥɟɧɨ. ȼɦɟɫɬɨ ɞɢɪɟɤɬɢɜɵ
#if defined(DEBUG)
ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ
#ifdef DEBUG
ȼɦɟɫɬɨ
#if !defined(DEBUG)
ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ
#ifndef DEBUG
Ʉɨɦɛɢɧɚɰɢɢ #if - #else ɦɨɝɭɬ ɛɵɬɶ ɜɥɨɠɟɧɧɵɦɢ, ɩɪɢɱɟɦ ɩɨɫɥɟɞɨ-
ɜɚɬɟɥɶɧɨɫɬɶ #else - #if ɡɚɦɟɧɹɟɬɫɹ ɨɞɧɨɣ ɞɢɪɟɤɬɢɜɨɣ #elif ɫ ɭɫɥɨɜɢɟɦ:
#if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_1
ɬɟɤɫɬ 1
#elif ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_2
ɬɟɤɫɬ_2
#else
40
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »
