Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Delphi, QIP и быдлокодерство

Автор Алексей Гринь, октября 26, 2009, 22:36

0 Пользователи и 1 гость просматривают эту тему.

myst

Цитата: Алексей Гринь от ноября  1, 2009, 22:47
Короче, sizeof(char) * n точно указывает, что нам нужно n char'ов, а не байтов или ещё чего натайпдефенного.
sizeof() определяет размер типа в байтах. Смекаешь? ;)

Алексей Гринь

И ччччо? Ну я его и пихаю дальше в malloc, который принимает количество байтов. Главное — читаемость. Не понимаю ваще, чо не так.

malloc(sizeof(char) * 128) = «выдели мне памяти под 128 чаров»
malloc(128) = «выдели мне памяти под 128 байт»

Неужто не чуешь эзотерической разницы? :)

肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от ноября  1, 2009, 22:47
И энумерации не использовать, а сразу везде 1, 2, 3 пихать.
Именованные константы нужны для понимания текста. В данном случае всем известно, что аргумент — размер.

myst

Цитата: Алексей Гринь от ноября  1, 2009, 22:58
malloc(sizeof(char) * 128) = «выдели мне памяти под 128 чаров»
malloc(128) = «выдели мне памяти под 128 байт»

Неужто не чуешь эзотерической разницы? :)
Патамушто её нет. Размер char'а — 1 байт.  :yes:

Алексей Гринь

Цитата: myst от ноября  1, 2009, 22:59
В данном случае всем известно, что аргумент — размер.
Но вот только неизвестно, размер какой логической единицы. А sizeof(char) немного проясняет.

Цитата: myst от ноября  1, 2009, 23:00
Патамушто её нет. Размер char'а — 1 байт.  :yes:
О да, если у двух типов один и тот же размер — это один и тот же тип. Ну что за глупости
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от ноября  1, 2009, 23:01
Но вот только неизвестно, размер какой логической единицы. А sizeof(char) немного проясняет.
А как же тип указателя, которому присваивается результат?

Алексей Гринь

Цитата: myst от ноября  1, 2009, 23:03
ЦитироватьНо вот только неизвестно, размер какой логической единицы. А sizeof(char) немного проясняет.
А как же тип указателя, которому присваивается результат?

Вот например:

str->bydlo_field.bydlof_field2->sztrfpssdd = malloc(128);

Объясните мне, что такое malloc(128), и для чего оно. Это надо лезть, чо-то смотреть. А с sizeof(char) * 128 становится немного понятней.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от ноября  1, 2009, 23:01
О да, если у двух типов один и тот же размер — это один и тот же тип. Ну что за глупости
Мы говорим конкретно про char.

myst

Цитата: Алексей Гринь от ноября  1, 2009, 23:04
Это надо лезть, чо-то смотреть. А с sizeof(char) * 128 становится немного понятней.
Для понимания программы тебе неизбежно это понадобится.

Алексей Гринь

Цитата: myst от ноября  1, 2009, 23:05
Мы говорим конкретно про char.
Уж нет, это я говорю про логический тип char, а ты мне втираешь всё про байты, которыми этот тип реализуется. Мне вообще должно быть пофигу, как оно там реализуется. Не люблю, когда кишки реализации выставлены там, где не надо (ой-вей, инкапсуляций!).

Цитата: myst от ноября  1, 2009, 23:06
ЦитироватьЭто надо лезть, чо-то смотреть. А с sizeof(char) * 128 становится немного понятней.
Для понимания программы тебе неизбежно это понадобится.
Но надо-таки признать, что sizeof(char) * 128 упростит процесс понимания.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от ноября  1, 2009, 23:08
Уж нет, это я говорю про логический тип char, а ты мне втираешь всё про байты, которыми этот тип реализуется.
char и есть байт.

Цитата: Алексей Гринь от ноября  1, 2009, 23:08
Но надо-таки признать, что sizeof(char) * 128 упростит процесс понимания.
Масло маслишь.

Алексей Гринь

И ваще бесит: в одном месте у нас malloc(sizeof(Bydlo)), в другом — просто malloc(100)... Нет уж, мы и во втором случае будем придерживаться хуман гуиделинес.

Системность! Орднунг!

Цитата: myst от ноября  1, 2009, 23:15
char и есть байт.
У меня свои закидоны, я рассматриваю Си с точки зрения ООП, и вроде всё нормально, живой ещё.
Для меня char, будучи реализованный как часть строки — в первую очередь логический тип "символ", и только потом какой-то там никому не всравшийся байт. Алсо, Орднунг!
肏! Τίς πέπορδε;

Bhudh

Цитата: mystchar и есть байт.
Извини, но ты знаешь, как я люблю Юникод:
Цитата: WikiСимвольный тип (Сhar) — простой тип данных, предназначенный для хранения одного символа в определённой кодировке. Может являться как однобайтовым (для стандартной таблицы символов), так и многобайтовым (к примеру, для Юникода).
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

myst

Цитата: Bhudh от ноября  1, 2009, 23:20
Извини, но ты знаешь, как я люблю Юникод:
Какое отношение эта цитата имеет к C?

Bhudh

Это она сейчас не имеет. А прочтёт сие кто-нибудь лет через x...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

myst


Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Алексей Гринь

Каким типом шифровать utf8 в сяшечках? Чар == байт? Тогда мы идём к вам!
肏! Τίς πέπορδε;



myst

Цитата: Алексей Гринь от ноября  1, 2009, 23:27
Каким типом шифровать utf8 в сяшечках?
Тоже не понял, особенно про шифровать.

Алексей Гринь

Цитата: myst от ноября  1, 2009, 23:30
char — это байт.
По ширине — да. Но не логически (про чо я втираю-то)

Я по ширине тоже много на кого похож
肏! Τίς πέπορδε;

Bhudh

Offtop
Цитата: Алексей ГриньЯ по ширине тоже много на кого похож
Даже интересно стало...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Алексей Гринь

Задолбало короче, мы говорим, похоже, о разных вещах :)
肏! Τίς πέπορδε;

Python

Цитата: Алексей Гринь от ноября  1, 2009, 22:32
У крупногабаритного и подход другой. Уж точно не статические массивы...
Хорошо, что есть С-шным аналогом динамических массивов, используемых в Делфи? То, что в одном языке является стандартным средством, в другом превращается в некое изобретение велосипеда («прострелить ногу несколькими способами, несовместимыми между собой»). Впрочем, ранний Pascal этих средств не имел.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр