Difference between " and < for #include preprocessor directive

#include preprocessor directive is used to include a header file in C++.
This tells the preprocessor to open the named header file and insert its contents where the #include statement appears. 
For #include may name a file in two ways: using angle brackets (< >) or in double quotes(").



File names in angle brackets, such as:
     #include

cause the preprocessor to search for the file in “include search path” that you specify in your environment or on the compiler command line.



File names in double quotes, such as:

    #include "header"
tell the preprocessor to search for the file in “current" directory. If the file is not found, then the include directive is reprocessed as if it had angle brackets instead of quotes.



Some services stop automatically if they have no work to do.

Sometimes it happens that you go and try to start any service and it gives you a nice message that "Some services stop automatically if they have no work to do.....".


There could be multiple reasons that this could happen..
1. The service crashed during startup.
2. Dependent service crashed/not started.
3. The service is not implemented properly.


In such scenario you can try following things:
1. Look at the event logs, if you find some error related to your service then try to resolve that.
2. Restart your machine in Safe mode, set the service properties as automatic and try to start the service. Sometimes this helps.
3. Try to completely uninstall and reinstall the service.

Private inheritance

The following code shows how we derive a class from other class.


class Base
{
   ...
}


class Derived: public Base
{
   ....
}


The Derived class is derived from Base with public level of inheritance. If you omit the public word while declaration such as 
class Derived : Base
the level of inheritance will be private.


The private inheritance is only supported in unmanaged C++. Its not supported in managed C++. if you declare the compiler will give error.

Caching is a technique used to store frequently accessed data in a temporary storage layer to improve system performance and reduce latency....