const char nullterminated[] = "hi"; // sizeof(nullterminated) == 3В таком случае boost::size() не может догадаться есть ли у массива null terminator или нет, поэтому решили отдать этот вопрос "пользователям", введя as_literal/as_array.
const char[2] array = { "h", "i" }; // sizeof(array) == 2
boost::size(nullterminated) == boost::size(array) ?;
То есть теперь только так:
boost::size(boost::as_literal("hello"));
2 комментария:
Оказывается то, что boost::begin()/end()/size() перестали работать с char*/wchar_t* - это фича, а не баг
Никола: ага, как выяснилось - так и есть.
Отправить комментарий