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