When you compile a program the compiler first uses a preprocessor to analyze the code. The #define directive can be used to either define a constant number or function or to replace an instruction in your code.
For instance:
#define for_ever_do while(1)
This means you can use for_ever_do instead of while(1) and the effect will be the same because the preprocessor first replaces for_ever_do with while(1) and then the program is compiled. With #define you can also create function or more precisely called, a macro.
Here's another example:
#define sqr(x) (x*x)
When you call sqr(6), the preprocessor will first replace sqr(6) with (6*6) and then compile the program.
Another thing that you can do with #define is concatanate two variables. For example:
#define conc(a,b)
int main() {
int xyz=123,try=125;
cout<<conc(xy,z)<<" "<<conc(t,ry);
}
This will display 123 125 because the preprocessor replaces conc(xy,z) with xyz and then evaluates it.
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.