deal with bad input cpp

#include <iostream>
#include <limits>

int main() {
    int number;
    std::cout << "Enter a number: ";
    while (!(std::cin >> number)) {
        std::cout << "Invalid input. Please enter a number: ";
        std::cin.clear();
        std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    }
    std::cout << "You entered: " << number;
    return 0;
}