char a[] = {0xff,0xff,0xff}; To int. Как?
От: makdak  
Дата: 23.11.16 18:36
Оценка:
Всем привет!
Есть такой массив:
char a[] = {0xff,0xff,0xff};
// или такой:
char b[] = {0xff,0xff};


как бы их преобразовать в int, unsigned int, int64, etc ?
Может можно как то сделать шаблонную функцию, в которою передал массив, тип, в который она должна преобразовать и всё бы работало без UB

tempalte<T=int>
func(const char *p, size_t s);
// и использовать её так:
cout << func<int>(a, sizeof(a)); // 16777215 
cout << func<short>(b, sizeof(b)); // 65535


Может где-то в stl есть такой функционал?
массивы a и b это Little endian число
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.