Attualmente sto creando un progetto che utilizzava molte dichiarazioni avanzate e così ho trovato un problema in cui il mio #include sembra essere estremamente ridondante.
Esempio:
config.h
#include <Windows.h>
#include <vector>
config.cpp
#include "config.h"
#include "resolve.h"
#include <Windows.h>
#include <vector>
//functions that use extern functions/variables.
resolve.cpp
#include "config.h"
#include "resolve.h"
#include <iostream>
#include <Windows.h>
#include <winternl.h>
#include <TlHelp32.h>
//functions that use extern functions/variables.
main.cpp
#include "config.h"
#include "resolve.h"
#include <iostream>
//functions that use extern functions/variables.
Sarebbe meglio per me fare qualcosa come fluire, quindi non ci sono #inclusi duplicati per qualcosa di simile?
config.h
#include <vector>
#include <iostream>
#include <Windows.h>
#include <winternl.h>
#include <TlHelp32.h>
//declarations for config.cpp
resolve.h
#include "config.h"
//declarations for resolve.cpp
config.cpp
#include "resolve.h"
resolve.cpp
#include "resolve.h"
main.cpp
#include "resolve.h"
Quindi in questo modo tutto ha già le intestazioni di cui hanno bisogno + le dichiarazioni in avanti?