скорее второе, чем первое возможности самого языка расширяются только внесением изменений в тулчейн например, у кьюта есть moc, поэтому это не просто библиотека, а уже целый фреймворк
«ускорить, облегчить, работу написание кода» – это скорее функция среды разработки (IDE), а не библиотек. Библиотек очень много, у всех какое-то конкретное назначение, а не «ускорить и облегчить» во всех случаях.
И то и другое. Например, сравни std::vector из библиотеки STL с динамическим массивом унаследованным от чистого Си. В принципе и во втором случае можно реализовать все то же самое, но многое составляет адский геморрой, а в первом случае все делается в 1 строчку.