Здравствуйте, Sir Wiz, Вы писали:
SW>Здравствуйте, _nn_, Вы писали:
SW>>>Внимание, вопрос! Как узнать сколько бит в char?
__>>Можно так :
__>>__>>char x=-1;
__>>int n=0;
__>>while(x>>1)
__>> n++;
__>>n - количество бит в char.
__>>
SW>Нет, так нельзя. Это не работает.
SW>Во-первых вы, наверное, имели в виду while(x >>= 1).
Да, конечно.
SW>Во-вторых, правый сдвиг отрицательных чисел implementation-defined, стандарт, 5.8/3.
Левый сдвиг значит надо сделать
SW>Например, VC6 на правый сдвиг -1 на 1 бит возвращает -1, получаем бесконечный цикл.
SW>В-третьих, неплохо бы в данном случае уточнять signed char x=-1. знаковость или беззнаковость char implementation-defined, стандарт, 3.9.1/1
Это пропущенно для краткости.
SW>Я писал пример рабочего кода.
Здравствуйте, _nn_, Вы писали:
__>Здравствуйте, Sir Wiz, Вы писали:
SW>>Здравствуйте, _nn_, Вы писали:
SW>>>>Внимание, вопрос! Как узнать сколько бит в char?
Поторопился...
__>>>Можно так :
__>>>__>>>char x=+1;
__>>>int n=0;
__>>>while(x>>1)
__>>> n++;
__>>>n - количество бит в char.
__>>>
SW>>Нет, так нельзя. Это не работает.
SW>>Во-первых вы, наверное, имели в виду while(x >>= 1).
__>Да, конечно.
SW>>Во-вторых, правый сдвиг отрицательных чисел implementation-defined, стандарт, 5.8/3.
__>Левый сдвиг значит надо сделать
SW>>Например, VC6 на правый сдвиг -1 на 1 бит возвращает -1, получаем бесконечный цикл.
SW>>В-третьих, неплохо бы в данном случае уточнять signed char x=-1. знаковость или беззнаковость char implementation-defined, стандарт, 3.9.1/1
__>Это пропущенно для краткости.
SW>>Я писал пример рабочего кода.
Заметил позже...
Вадим Никулин:
> 'specialization' : a partial specialization cannot have a dependent non-type template parameter
>
> > int i;
> int ai[5];
>
> template<class T, T t>
> struct A
> {
> };
>
> template<class T>
> struct A<T,5>
> {
> }; // C2754
>
>
> Не понимаю трудностей
Чтобы это компилировать, комплятору придется как-то кодировать литералы. В самом деле: какого типа второй параметр?
Posted via RSDN NNTP Server 1.9 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен