What constitutes a directive in C++, and how can I use them effectively?
You mentioned two different programming constructs in your question: 1) the #include pre-processing directive and 2) the using namespace directive.
Each of these constructs is literally referred to as a "directive" in the documentation, but they are completely different things. I can see how that could cause confusion.
Both the pre-processing directives and the using directive are not something that the user gets to define. They have a fixed meaning in the language. They can be used with different arguments to achieve different results.
Directives like #include can be used to direct what source code is used in the compilation. For example, #include <iostream> will cause the file iostream to be included. There are numerous other pre-processor directives, but for starting out, #include is by far the most important.
A directive like using std::cout instructs the compiler to bring the std::cout symbol into the current namespace so it can be referenced as simply cout.
I hope this helps clear up the confusion.

How do you exactly define a directive in programming?
#include is a directive, and using namespace std is a directive as well, assuming that I  am correct.
What actually makes a sentence or word a directive?
I tried reading from different sources, but all lead to no avail. I  am new to programming and I hope to grasp a good understanding of a directive.
