Я писал тест для своих типов итераторов и хотел проверить, что ссылка, возвращаемая итераторами разыменования, предоставленными begin()
и cbegin()
, является неконстантной и константной соответственно.
Я пыталсяделая что-то похожее на следующее: -
#include <type_traits>
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{0};
std::cout << std::is_const<decltype(*vec.begin())>::value << std::endl;
std::cout << std::is_const<decltype(*vec.cbegin())>::value << std::endl;
}
Но это печатает 0
для обоих случаев.
Есть ли способ проверить, является ли ссылка константной?
Я могу использовать функции C ++ 11/14/17.