Пункт 13 из «Эффективного современного C++» Скотта Майерса предпочитает const_iterators над итераторами. Я согласен, но я также хочу использовать функции, отличные от членов, а не функции-члены. Согласно книге, в C++ 14 должна существовать функция нечлена std::cbegin()
и std::cend()
.Поддержка `std :: cbegin()` в C++ 14
Чтобы использовать эту функцию, я только что установил gcc версии 4.9.2 и скомпилировал флаг -std=c++14
. Кажется, он компилируется, пока я не попытаюсь использовать std::cbegin()
. Я начинаю искать поддержку для этой функции, но ничего не могу найти об этом. Например, в gnu onlinedocs status функция даже не упоминается.
Мой вопрос: std::cbegin()
и std::cend()
действительно поддерживаются в C++ 14 или это ошибка в книге? Если это будет функция C++ 14, есть ли компиляторы, которые уже поддерживают эти функции и когда gcc ее поддерживает?
В SO около begin()
есть много вопросов, но эти вопросы касаются функций-членов или о constexpr-ness, а не о поддержке варианта, не являющегося членом.
Это было мое предложение. Только я сам этого не писал, потому что он должен был быть написан вместо меня членом Комитета. :) –