Преимущества использования функции size() в C++17 включают:
- Безопасный способ получения размера буфера строки. 3 В отличие от функции sizeof(), size() возвращает количество элементов, а не байтов, что обеспечивает правильный результат. 3
- Работа с массивами и контейнерами STL. 5 Функция работает с массивами и с контейнерами стандартной библиотеки шаблонов C++ (STL), но выдаст ошибку компиляции при попытке передать ей обычный указатель. 5
- Возможность измерить длину C-style массива. 5 Функция работает с массивами и с контейнерами STL, но выдаст ошибку компиляции при попытке передать ей обычный указатель. 5
Таким образом, преимущества использования size() в C++17 заключаются в удобстве и безопасности определения размера различных объектов, включая строки и массивы.