Простите, не понял, что имелось в виду. std::runtime_error — это класс. В данном случае, создаётся анонимный объект данного класса и его бросают в виде объекта исключения. Т.е. то, что мы наблюдаем — это вызов конструктора класса. Может ли кто-то выбрасывать данное исключение? Да.
Смотрите, как объект исключения может быть range_error, он выбрасывается при работе программы в известных случаях. А вот есть случаи когда программист не определяет выброс runtime_error, как в случае с range_error?
...я, наверное, плохо сформулировал вопрос.
Стандартная библиотека может выбрасывать данное исключение, как в чистом виде (например, locale), та и наследованные от данного типа исключения, такие как указанный range_error. Другие библиотеки так же.
true — это исходное значение для типа bool, означающее истину. Константа. При преобразовании из bool в int получим 1, это стандарт гарантирует, а как true хранится — это дело компилятора и платформы, обычно 1 и хранят.
В С++ любое число не равное нулю приводится к true, а 0 к false. Или в более Си варианте — всё, что не ноль — истина, ноль — ложь. Оператор ! — логическое отрицание. 222 — не ноль, значит истина, поэтому результатом !222 будет false.