Странное поведение BOOST_TYPEOF
От: Nikita.Trophimov  
Дата: 15.03.13 11:14
Оценка:
Наткнулся на странное, как мне кажется, поведение BOOST_TYPEOF:

#include <boost/typeof/typeof.hpp>

#include <ios>
#include <iostream>
#include <typeinfo>
#include <type_traits>

int main()
{
   std::boolalpha(std::cout);
   std::cout << std::is_same<BOOST_TYPEOF("str"), const char (&)[4]>::value << '\n'
             << std::is_same<decltype("str"), const char (&)[4]>::value << '\n'
             << typeid(BOOST_TYPEOF("str")).name() << '\n'
             << typeid(decltype("str")).name() << '\n'
             << (typeid(BOOST_TYPEOF("str")) == typeid(decltype("str"))) << '\n';
}


gcc 4.7.2

false
true
A4_c
A4_c
true


MSVC-11.0

false
true
char const [4]
char const [4]
true


boost 1.52

Что происходит? Объясните, пожалуйста, никак не могу понять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.