Стиль директивы #include

202
05 мая 2018, 16:39

Сегодня был спор с коллегами. Предметом стала такая строка:

#include "../second_subproject/header.h"

в проекте со следующей структурой:

  • project
    • first_subproject
    • second_subproject
    • third_subproject
    • ...

Они придерживались точки зрения, что first_subproject, second_subproject, third_subproject, etc. должны быть указаны как include directories при помощи параметров проекта, а include примет следующий вид:

#include "header.h"

Я же утверждал, что ничего криминального в первом варианте нет, и он даже более наглядный(правда позже выяснил, что ".." это непереносимо).

Таким образом есть 3 варианта:

    #include "../second_subproject/header.h"
    // ../first_subproject добавлен как include diectory
    // ../second_subproject добавлен как include diectory
    // ../third_subproject добавлен как include diectory
    #include "header.h"
    // .. добавлен как include diectory
    #include "second_subproject/header.h"

Какой вариант считается хорошим тоном, какой плохим? Плюсы/минусы? Может про это написано в каких-нибудь стайлгайдах(мозила, гну, гугл, майкрософт и т.п.) или книгах?

READ ALSO
Передача кириллицы чрез cURL (C++)

Передача кириллицы чрез cURL (C++)

В нижеприведённом коде я пытаюсь отправить запрос к GoogleSearchAPI через cURLСтрока запроса (url) содержит кириллические символы, которые при отправке...

219
Необработанное исключение по адресу [требует правки]

Необработанное исключение по адресу [требует правки]

Подскажите, что может выбить такое исключение?

230
Потоки QThread, передача данных,

Потоки QThread, передача данных,

у меня много вопросов по поводу QThread и потоковУ меня есть класс ClassData, который в конструкторе принимает два массива данных, затем передает...

263
Linux segmentation fault не на всех пользователях

Linux segmentation fault не на всех пользователях

На VDS лежит самописная программка (на С++), при запуске исполняемого бинарника из под root - работает корректноСтоит зайти за другого пользователя...

212