¿para que sirve flush en c++?

tengo una duda que es cuando pongo una estructura demasiado grande (en la que tengo que poner el fflush(stdin)) el programa me dize que “fflush(stdin)”no esta declarada ,me pregunto al poner un flush detras de todo el cout me haria lo mismo.