Флейм
GameDev.ru / Флейм / Форум / char - зачем? (5 стр)

char - зачем? (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
122Постоялецwww12 июля 201812:28#60
Zefick
> STL тоже не пользуешься
Впервые слышу.

> Если бы ты хоть раз открывал стандарт, про который говоришь, то
Блиин, чувак.
Для начала нового функционала конкретно "uint8_t" - не несёт. Она просто переименование "char". Уже наводит на подозрения, да? Идейка уровня: а давайте переименуем "if" в "if_cg4". Просто сказка.
А потом - ты на одно имя этого васянства посмотри: "uint8_t". По названию даже видно: это велосипед какого-то кустаря.
Подчёркивание плюс два сокращения в одну букву: "u" и "t".
Да лол, я так свои переменные часто стыжусь называть, иначе будет что-то вроде "grpos2_sQ". В итоге оно максимум тянет на либу кустаря, который хотел как лучше.

Вот тебе пример такого-же кустаря но который хоть в названия научился.
> https://en.cppreference.com/w/cpp/types/byte
> Всем радоваться полчаса.

Правка: 12 июля 2018 12:30

ZefickПостоялецwww12 июля 201813:53#61
122
> Она просто переименование "char".
  unsigned char. Вот видишь, ты даже не знаешь что это не одно и то же, а ещё споришь.
122Постоялецwww12 июля 201816:39#62
Zefick
> ты даже не знаешь что это не одно и то же
Ай, человек, не смеши меня.
Вот бы сейчас не знать что такое ансигнед.
Panzerschrek[CN]Участникwww12 июля 201816:45#63
Хе-хе.
В ABI даже имена для char, signed char, unsigned char не совпадают: http://refspecs.linuxbase.org/cxxabi-1.83.html#mangling
<builtin-type> ::= v  # void
     ::= w  # wchar_t
     ::= b  # bool
     ::= c  # char
     ::= a  # signed char
     ::= h  # unsigned char
     ::= s  # short
     ::= t  # unsigned short
     ::= i  # int
     ::= j  # unsigned int
     ::= l  # long
     ::= m  # unsigned long
     ::= x  # long long, __int64
     ::= y  # unsigned long long, __int64
     ::= n  # __int128
     ::= o  # unsigned __int128
     ::= f  # float
     ::= d  # double
     ::= e  # long double, __float80
     ::= g  # __float128
     ::= z  # ellipsis
     ::= u <source-name>  # vendor extended type
return [](){};Участникwww12 июля 201819:20#64
Panzerschrek[CN]
> В ABI даже имена для char, signed char, unsigned char не совпадают
Потому что по стандарту это 3 разных типа и знаковость char - implementation defined
ZefickПостоялецwww12 июля 201819:47#65
122
> Вот бы сейчас не знать что такое ансигнед.
  От человека, который не знает что такое STL всякого можно ожидать.
=A=L=X=Постоялецwww12 июля 201819:50#66
А, получается граблиэти разложили K&R - у них вообще signed/unsigned могло быть указано только с int и поэтому знаковость байта была impl defined.
Жесть...
=A=L=X=Постоялецwww12 июля 201820:10#67
Гы, а ведь правда, походу это даже сабж про блеск и нищету.
Типа керниган и ричи были из культуры больших эвм и их головы думали прежде всего словами, как сама система инструкций однооперандных была часто сделана в машинах типа pdp и всяких ibm-вских мейнфрейм. Они вообще не думали о байтах. Байты на pdp-11 после pdp-7 воспринимались видимо как экзотичный канделябр главным образом нужный для компактной упаковки строк. Поэтому байт был сразу загнан в загон платформозависимого символа текста, а в начале было слово.
Забавно, забавно.
122Постоялецwww12 июля 201821:51#68
Zefick
> который не знает что такое STL
Вот бы сейчас знать все васянские либы. Погуглил, очередной велосипед "а давайте напишем свою память со своим хитрым доступом". Долгая компиляция, тормоза, всё в комплекте.
DelfigamerПостоялецwww12 июля 201822:33#69
Kartonagnick
> оно работает. но оно - не правильное. а почему неправильное я не скажу.
> ясно.
Читай тред, уже на сто раз сказали.

122
> Для начала нового функционала конкретно "uint8_t" - не несёт. Она просто
> переименование "char". Уже наводит на подозрения, да? Идейка уровня: а давайте
> переименуем "if" в "if_cg4". Просто сказка.
> А потом - ты на одно имя этого васянства посмотри: "uint8_t". По названию даже
> видно: это велосипед какого-то кустаря.
> Подчёркивание плюс два сокращения в одну букву: "u" и "t".
Тогда почему ты не делаешь

using integer_type = int;
using character_type = char;
using immutable_character_pointer_type = char const*;
?

Или ты реально так и делаешь? Абсолютный безумец.

Правка: 12 июля 2018 22:33

KartonagnickЗабаненwww13 июля 201811:23#70
Delfigamer
> Читай тред, уже на сто раз сказали.
я читал тред.
в том то и дело.
не нашел ничего, кроме ваших голословных выкриков, где то на грани бреда.

9К720Участникwww13 июля 201812:28#71
122
> Она просто переименование "char".
Тебе то откуда знать, лол, человеку сознательно изолирующемуся от знаний. Сидишь там в своей помойке, ну и сиди.

Кстати, чушь. uint_8 - это безннаковое 8-битное число. Char - это тип для хранения символов. Нет никакой взаимосвязи, ну если говорить про реальность, а не что там крестуханы придумали

Правка: 13 июля 2018 12:30

DelfigamerПостоялецwww13 июля 201813:22#72
9К720
> Char - это тип для хранения символов.
Какое значение char соответствует символу U+1F914 THINKING FACE?
Никакого, о чём я уже пятую страницу твержу.
"char" не предназначен для элементов множества "character", он предназначен исключительно для элементов множества "byte", и любые попытки применить его к чему-то ещё - это натягивание карманной совы на трёмхетровый глобус.

Правка: 13 июля 2018 13:31

=A=L=X=Постоялецwww13 июля 201813:33#73
https://ideone.com/HIwVQI
    #include <cstdint>
    #include <iostream>
    using namespace std;
     
    int main() {
      uint8_t x = 67;
      std::cout << "x=" << x << '\n';
      return 0;
    }

Изображение

9К720Участникwww13 июля 201813:36#74
Delfigamer
> "char" не предназначен для элементов множества "character", он предназначен
> исключительно для элементов множества "byte", и любые попытки применить его к
> чему-то ещё
Я же написал выше  - "если говорить про реальность, а не что там крестуханы придумали"
Страницы: 1 2 3 4 5 6 7 Следующая »

/ Форум / Флейм / Программирование

2001—2018 © GameDev.ru — Разработка игр