Size: a a a

CODE BLOG / Чат

2020 May 16

B[

Bars0_o [SpamBlock] in CODE BLOG / Чат
на макросах, во
источник

SS

Steel Sword in CODE BLOG / Чат
Bars0_o [SpamBlock]
на макросах, во
источник

SG

Spectra GameSport in CODE BLOG / Чат
источник

J

Jmik in CODE BLOG / Чат
Можно сделать структуру
structure ArrayWithLen
{
        int len
        void* array
}
И можно обращаться
(T)AWL.array[i]
T - нужный тип
AWL - экземляр структуры
источник

J

Jmik in CODE BLOG / Чат
Или еще лучше
Давайте просто договоримся
Что нулевой элемент массива - длинна
А реальный контент начинается с 1
источник

J

Jmik in CODE BLOG / Чат
Jmik
Или еще лучше
Давайте просто договоримся
Что нулевой элемент массива - длинна
А реальный контент начинается с 1
Это реально лучше
источник

SS

Steel Sword in CODE BLOG / Чат
Jmik
Или еще лучше
Давайте просто договоримся
Что нулевой элемент массива - длинна
А реальный контент начинается с 1
Но в массив можно не только числа складывать
источник

SS

Steel Sword in CODE BLOG / Чат
Короче, нужна поддержка длины на уровне языка
источник

J

Jmik in CODE BLOG / Чат
Steel Sword
Но в массив можно не только числа складывать
Но все данные - числа

А в строки нуль-терминированы
источник

J

Jmik in CODE BLOG / Чат
Если это массив указателей, то его тоже нуль-терминировать
источник

J

Jmik in CODE BLOG / Чат
Steel Sword
Короче, нужна поддержка длины на уровне языка
Как сказал барсик,
Массивов нет, есть указатели
источник

SS

Steel Sword in CODE BLOG / Чат
Jmik
Но все данные - числа

А в строки нуль-терминированы
Размер. Представим, у тебя 100_000 char'ов. Как ты уместишь 100_000 в 255?
источник

SS

Steel Sword in CODE BLOG / Чат
Придётся играться с типами
источник

J

Jmik in CODE BLOG / Чат
Steel Sword
Размер. Представим, у тебя 100_000 char'ов. Как ты уместишь 100_000 в 255?
Строки - нультерминированы
источник

J

Jmik in CODE BLOG / Чат
Масивы указателей - тоже
источник

SS

Steel Sword in CODE BLOG / Чат
Jmik
Строки - нультерминированы
Ну ок, не строки, а что-нибудь другое
источник

SS

Steel Sword in CODE BLOG / Чат
Jmik
Масивы указателей - тоже
А что, только по указателям ходить? А как же кеш процессора?
источник

J

Jmik in CODE BLOG / Чат
По хорошему длинна массива должны быть известна на этапе компиляции и вынесена константу
источник

J

Jmik in CODE BLOG / Чат
Ибо создавать
Int array[n]
Где n вводится юзером - можно попрощаться со стеком
источник

J

Jmik in CODE BLOG / Чат
А у указателя созданного маллоком,
Можно узнать длину кстати
Ведь free это делает при освобождении
источник