Содержание
- 2. Шаблоны, директивы препроцессора, пространства имен Директивы препроцессора Препроцессором называется первая фаза компиляции. Инструкции (команды) препроцессора называются
- 3. Шаблоны, директивы препроцессора, пространства имен Заголовочные файлы обычно имеют расширение h и могут содержать: - определение
- 4. Шаблоны, директивы препроцессора, пространства имен В заголовочных файлах не должно быть определение функций и данных. Их
- 5. Шаблоны, директивы препроцессора, пространства имен #include”file_name.h” file_name_main.cpp Файл основной программы, содержащий функцию main file_name.h Заголовочный файл(ы)
- 6. Шаблоны, директивы препроцессора, пространства имен *Директива #define Директива define определяет подстановку в тексте программы. Она используется
- 7. Шаблоны, директивы препроцессора, пространства имен - макросов, которые выглядят как функции, но реализуются подстановкой из текста
- 8. Шаблоны, директивы препроцессора, пространства имен Например, для описанного макроса вызов cout приведет к получению числа 6,
- 9. Шаблоны, директивы препроцессора, пространства имен - символов, управляющих условной трансляцией. Они используются совместно с директивами #ifdef
- 10. Шаблоны, директивы препроцессора, пространства имен #define A int main() { #ifdef A cout #else cout #endif
- 11. Шаблоны, директивы препроцессора, пространства имен Имена, объявляемые через директиву define рекомендуется писать прописными символами, чтобы зрительно
- 12. Шаблоны, директивы препроцессора, пространства имен Директивы условной трансляции Директивы условной трансляции #if, #ifdef, #ifndef применяются для
- 13. Шаблоны, директивы препроцессора, пространства имен Формат директивы #if: #if константное_выражение ….. [ #elif константное_выражение ] …..
- 14. Шаблоны, директивы препроцессора, пространства имен Исключаемые блоки могут содержать как описания, так и исполняемые операторы. Пример
- 15. Шаблоны, директивы препроцессора, пространства имен В константных выражениях может использоваться проверка, определена ли константа с помощью
- 16. Шаблоны, директивы препроцессора, пространства имен И еще одно применение директив условной трансляции – временное комментирование фрагмента
- 17. Шаблоны, директивы препроцессора, пространства имен Например, макрос __splusplus определен, если программа компилируется в среде С++. #ifdef
- 18. Шаблоны, директивы препроцессора, пространства имен Другие макросы: - __DATE__ - содержит строку с текущей датой (месяц,
- 19. Шаблоны, директивы препроцессора, пространства имен - __LINE__ - текущая строка исходного текста; - __TIME__ - текущее
- 20. Шаблоны, директивы препроцессора, пространства имен Области действия и пространства имен Каждый программный объект имеет область действия
- 21. Шаблоны, директивы препроцессора, пространства имен - функция; - файл; - группа файлов, в пределе включающая все
- 22. Шаблоны, директивы препроцессора, пространства имен Блок. Программный объект, определенный внутри блока, по области действия является локальным.
- 23. Шаблоны, директивы препроцессора, пространства имен Если же программный объект определен внутри блока как static, то время
- 24. Шаблоны, директивы препроцессора, пространства имен В глобальной области объявить блок таким образом нельзя. Прототип функции. Идентификаторы,
- 25. Шаблоны, директивы препроцессора, пространства имен Функция. Программные объекты, определенные в блоке функции, имеют область действия и
- 26. Шаблоны, директивы препроцессора, пространства имен Локальные объекты, объявленные в теле функции, действуют в пределах конкретного блока.
- 27. Шаблоны, директивы препроцессора, пространства имен В этом случае переменные будут храниться в сегменте данных программы и
- 28. Шаблоны, директивы препроцессора, пространства имен Файл. Программный объект, определенный с описателем класса static вне любого блока,
- 29. Шаблоны, директивы препроцессора, пространства имен Но обратиться к нему можно через оператор разрешения области видимости -::.
- 30. Шаблоны, директивы препроцессора, пространства имен Пространства имен (именованные области). В С++ есть возможность явным образом задать
- 31. Шаблоны, директивы препроцессора, пространства имен Пространства имен Пространство имен (именованная область) служит для логического группирования определений,
- 32. Шаблоны, директивы препроцессора, пространства имен Общий формат объявления именованной области следующий: namespace [имя_области] { // определения
- 33. Шаблоны, директивы препроцессора, пространства имен Продолжение именованных областей можно делать в различных файлах. Рассмотрим простой пример:
- 34. Шаблоны, директивы препроцессора, пространства имен Дальнейшее расширение пространства namespace demo { // int i = 2;
- 35. Шаблоны, директивы препроцессора, пространства имен Нельзя получить доступ из именованной области одного файла к неименованной области
- 36. Шаблоны, директивы препроцессора, пространства имен Такой прием обеспечивает разделение интерфейса и реализации. Объекты программы, определенные внутри
- 37. Шаблоны, директивы препроцессора, пространства имен Если какое-либо имя из именованной области используется часто, его можно сделать
- 38. Шаблоны, директивы препроцессора, пространства имен Если требуется открыть всю область видимости, используется оператор using namespace demo;
- 39. Шаблоны, директивы препроцессора, пространства имен Именованные области могут быть вложены друг в друга.
- 40. Шаблоны, директивы препроцессора, пространства имен
- 41. Шаблоны, директивы препроцессора, пространства имен
- 42. Шаблоны, директивы препроцессора, пространства имен
- 43. Шаблоны, директивы препроцессора, пространства имен
- 44. Шаблоны, директивы препроцессора, пространства имен
- 45. Шаблоны, директивы препроцессора, пространства имен
- 46. Шаблоны, директивы препроцессора, пространства имен
- 47. Шаблоны, директивы препроцессора, пространства имен
- 48. Шаблоны, директивы препроцессора, пространства имен
- 49. Шаблоны, директивы препроцессора, пространства имен
- 50. Шаблоны, директивы препроцессора, пространства имен
- 56. Скачать презентацию