Easyinclude

Чем #include <header> отличается от "header"?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

Разница в порядке поиска: <...> — только системные пути; "..." — сначала текущая директория, потом системные (fallback как <>).

#include <iostream>     // системный (стандартная библиотека)
#include "utils.h"      // свой заголовок проекта

// Сборка: -I добавляет пути в системный поиск
//   g++ -I/usr/local/include -I../include main.cpp

Соглашение: <> для стандартных и сторонних библиотек, "" для своих заголовков. CMake управляет путями через target_include_directories.

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.