Вопросы
В чем разница между #include <filename> и #include "filename"?
В чем разница между использованием угловых скобок и кавычек в директиве include?
#include <filename> #include "filename"
Почему в макросах используются, казалось бы, бессмысленные операторы do-while и if-else?
В многих макросах на C/C++ я замечаю, что код макроса обернут в циклы do while, которые, по сути, кажутся бессмысленными. Вот примеры: #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else
Я не понимаю, зачем нужен do while. Почему нельзя просто написать это без...
Почему используются #ifndef и #define в заголовочных файлах C++?
Я заметил, что в начале заголовочных файлов часто встречается следующий код:
#ifndef HEADERFILE_H
#define HEADERFILE_H
А в конце файла находится:
#endif
Какова цель этого?