Информация об изменениях

Сообщение Re[3]: Индекс по типу от 07.04.2016 8:39

Изменено 07.04.2016 9:01 tstalker

Здравствуйте, _hum_, Вы писали:

__>ага, а как же unsigned char и signed char, uint8_t, int8_t, short и прочие. вы уверены, что они все будут разные типы на всех платформах?


Уверен: :-
#include <tuple>
#include <string>
#include <cstdint>
#include <iostream>

int main(void)
{
    using namespace std;
    tuple<int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t,
        bool, signed char, unsigned char, signed short, unsigned short, signed int, unsigned int,
        signed long, unsigned long, signed long long, unsigned long long, string> x
    { 'a', 'b', 3, 4, 5, 6, 7, 8, true, 'c', 'd', 12, 13u, 14, 15u, 16l, 17ul, 18ll, 19ull, "abcde"s };
    cout << get<0>(x) << ' ' << get<1>(x) << ' ' << get<2>(x) << ' ' << get<3>(x) << ' '
        << get<4>(x) << ' ' << get<5>(x) << ' ' << get<6>(x) << ' ' << get<7>(x) << ' '
        << get<8>(x) << ' ' << get<9>(x) << ' ' << get<10>(x) << ' ' << get<11>(x) << ' '
        << get<12>(x) << ' ' << get<13>(x) << ' ' << get<14>(x) << ' ' << get<15>(x) << ' '
        << get<16>(x) << ' ' << get<17>(x) << ' ' << get<18>(x) << ' ' << get<19>(x) << endl;
}
Re[3]: Индекс по типу
Здравствуйте, _hum_, Вы писали:

__>ага, а как же unsigned char и signed char, uint8_t, int8_t, short и прочие. вы уверены, что они все будут разные типы на всех платформах?


Уверен:
#include <tuple>
#include <string>
#include <cstdint>
#include <iostream>

int main(void)
{
    using namespace std;
    tuple<int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t,
        bool, signed char, unsigned char, signed short, unsigned short, signed int, unsigned int,
        signed long, unsigned long, signed long long, unsigned long long, string> x
    { 'a', 'b', 3, 4, 5, 6, 7, 8, true, 'c', 'd', 12, 13u, 14, 15u, 16l, 17ul, 18ll, 19ull, "abcde"s };
    cout << get<0>(x) << ' ' << get<1>(x) << ' ' << get<2>(x) << ' ' << get<3>(x) << ' '
        << get<4>(x) << ' ' << get<5>(x) << ' ' << get<6>(x) << ' ' << get<7>(x) << ' '
        << get<8>(x) << ' ' << get<9>(x) << ' ' << get<10>(x) << ' ' << get<11>(x) << ' '
        << get<12>(x) << ' ' << get<13>(x) << ' ' << get<14>(x) << ' ' << get<15>(x) << ' '
        << get<16>(x) << ' ' << get<17>(x) << ' ' << get<18>(x) << ' ' << get<19>(x) << endl;
}


a b 3 4 5 6 7 8 1 c d 12 13 14 15 16 17 18 19 abcde