When coding in either C or C++, where should I have the #include\'s?
callback.h:
#ifndef _CALLBACK_H_
#define _CALLBACK_H_
#include <
Put as many includes in your cpp as possible and only the ones that are needed by the hpp file in the hpp. I believe this will help to speed up compilation, as hpp files will be cross-referenced less.
Also consider using forward declarations in your hpp file to further reduce the include dependency chain.