+32
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
#include <iostream>
void f(char c) { std::cout << "f(char)" << std::endl; }
void f(signed char c) { std::cout << "f(signed char)" << std::endl; }
void f(unsigned char c) { std::cout << "f(unsigned char)" << std::endl; }
int main()
{
f('a');
f((signed char)('a'));
f((unsigned char)('a'));
return 0;
}
илитный ресурс сегодня мне раскрыл глаза на очередное крестоблядство керниган-гай-ричи-блядство:
с:
The implementation shall define char to have the same range, representation, and behavior as either signed char or unsigned char.
Irrespective of the choice made, char is a separate type from the other two and is not compatible with either.
с++:
Characters can be explicitly declared unsigned or signed. Plain char, signed char, and unsigned char are three distinct types.
Запостил:
defecate-plusplus,
08 Октября 2012
всю жизнь хватало char vs unsigned char (которые могут представляться одинаково, но это никому не мешало)
не мешало в т.ч. потому, что http://ideone.com/5XpeG
и это вместо того, чтобы запретить отрицательные символы, а всех кто считает иначе - предать анафеме
В с++ ситуация более сложная, т.к. есть перегрузка, и именно там эти типы сделали различными, чтобы можно было писать одну перегрузку с char а не по две перегрузки каждой функции с unsigned char и signed char, которые программисты вечно бы забывали.
UPD: только после отправки понял, что написал x..ню.
Где тут х..ня, Xom94ok?
Вроде как все верно - char для символов, где на знаковость почти наплевать, и она рулится опцией компилятора/дефолтами, а signed char и unsigned char для чисел, где важна знаковость. По мне так адекватное предположение.
Вот только какого х.я по дефолту символы знаковые? Русские буквы во всяких там однобайтовых кодировках так удобно было проверять на диапазоны из-за этих минусов...
В разных системах может быть по-разному.
Тоже не считаю это хуйней.
char, signed char и unsigned char - это все символы
они вводятся и выводятся как символы
Надо скачать свежую версию либастрала, с поддержкой зелёных ссылок.
а компилятор С++
вообще, конечно, глазастый ;)
в С++ для совместимости это похоже так и унаследовали, но с расширением: char это то что девел свичами компилера регулирует и совместимо с С, unsigned char это всегда 0..255, signed char это всегда -128..127.
но к слову я как бы не уверен что это по стандарту так. в GCC это именно так. но в паре комерческих С++ компиляторов с которыми я работал, свичом реально меняется char на signed/unsigned char. что есть весьма бесполезно и почему на свиче в доке стоит большой варнинг: типа ломает сигнатуры, использовать только для С кода.
Вот ду ю сей браза ай донт андестэнд ю.
SunStudio:
IBM's xlC:
> > ... девел свичами компилера регулирует ...
... разработчик контролирует конфигурацией компилятора ...
Ты настолько наанглососонился, что даже не в состянии сказать по-русски не криво?
Разработчик выставляет флаги компилятора.
другими словами, то что ты видишь это перевод с немецко-англиского (с французским акцентом) на русский (с беларуским дзыканьем) :)
Триальная версия.
то фоткай на телефон, с супом.
Но виртуальное ж есть: /dev/vcs
Или гумно настолько нищеброд, что не может позволить себе виртуальное устройство?
Все согласны?
На этом сайте есть только говно, его ты и получаешь в приз - употребляй сколько душе угодно.
Так вот тут ситуация точь-в-точь - в списке публично осрамившихся поделил 2-3 места с HaskellGovno.
Так что ни ГИМП, ни ИмиджМаджик не помогут - им тоже неоткуда это взять. Они могут только если композиция делается процессором, т.е. софтовая эмуляция ОГЛ.
А фишка эта еще и потому, что новые "навороченные" десктопы типа третьего гнома + юнити и т.п. решили, что им просто необходимы шейдеры и все такое. И теперь они отрисовываются через dri - ну вот и получилось...
P.S. На нвидии в юнити спокойно делаю скрины (к примеру скрин lynx в недавнем треде).
P.P.S. А ну хотя у меня DRI вроде и выключен, но включен GLX, домой приду - проверю.
Я так себе представляю, что драйвер должен предоставлять такую возможность, как сделать скриншот :) очевидно он этого не делает / делает не правильно. А больше получить это не от куда.