Задачи для подготовки к собеседованию

В чем разница разного использования const с указателем?

C++
int main(int argc, char** argv)
{
	int value = 100;

	const int* const_int_ptr = &value;
	int const* int_const_ptr = &value;
	int* const int_ptr_const = &value;
	const int* const const_int_ptr_const = &value;

	return EXIT_SUCCESS;
}