Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyegorych, Что, жестче чем malloc(sizeof(struct temp) + sizeof(T2)*N) ? :)через union позаковырестей, чем malloc, всё же :)) А где используются такого рода извращения, интересно? и, мне кажется, что Код: plaintext 1. 2. 3. 4. если N - не константа, то это ведь нестандартное расширение гнуса, нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 10:02 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
egorychесли N - не константа, то это ведь нестандартное расширение гнуса, нет? Это стандартное, но только в С. В С++ такого нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 11:52 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
White OwlegorychWhite Owl, >> не забывай что sizeof(struct temp) == sizeof(T0)+sizeof(T2); Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. T1, а не T2?Да, конечно. Опечатался, прошу прощения. а не Код: plaintext 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:15 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
А зачем вообще хранить структуру переменной длинны ? Где это можно применить, например ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:16 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Почему бы не хранить в таком случае указатель на память, где будет храниться необходимые нам данные разной мощности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:17 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercury а не нет. SashaMercury Где это можно применить, например ? разбор пакетов, скажем: заголовок + данные переменной длины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:21 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
[quot RWolf]SS а не нет. почему нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:34 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryпочему нет ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:41 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
RWolf, и что ? эти 2 могут получиться разными путями. почему ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:43 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercury, не могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 15:44 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
RWolf, тогда в данном случае это скорее сумма размеров T0 и T1. Объясните почему должна быть сумма T0 и T2, и почему в размере структуры не учитывается размер T1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 16:03 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercury, в посте так и написано: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 16:04 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
egorych , потому я и спросил по этому вопросу. T1 исправили на T2. White OwlegorychWhite Owl, >> не забывай что sizeof(struct temp) == sizeof(T0)+sizeof(T2); Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. T1, а не T2?Да, конечно. Опечатался, прошу прощения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 16:09 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryRWolf, тогда в данном случае это скорее сумма размеров T0 и T1. Объясните почему должна быть сумма T0 и T2, и почему в размере структуры не учитывается размер T1смотри, чё: 17252093 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 16:10 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryegorych , потому я и спросил по этому вопросу. T1 исправили на T2.наоборот, Т2 исправили на Т1, изначально вкралась опечатка. Правильный sizeof: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. sizeof( T2 ) не участвует в расчёте размера структуры, потому что мы говорим, что будет массив переменной длины, и, типа, мы сами-с-усами и зададим потом правильный размер. Компилятор говорит нам: Ок, теперь ты сам-себе-злобный-буратино, а я не буду учитывать размер последнего массива при расчёте размера структуры. Как то так мне это видится )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 16:16 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
egorychSashaMercuryegorych , потому я и спросил по этому вопросу. T1 исправили на T2.наоборот, Т2 исправили на Т1, изначально вкралась опечатка. Правильный sizeof: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. sizeof( T2 ) не участвует в расчёте размера структуры, потому что мы говорим, что будет массив переменной длины, и, типа, мы сами-с-усами и зададим потом правильный размер. Компилятор говорит нам: Ок, теперь ты сам-себе-злобный-буратино, а я не буду учитывать размер последнего массива при расчёте размера структуры. Как то так мне это видится )) Мне так и думалось. Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 16:22 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
egorychSashaMercuryegorych , потому я и спросил по этому вопросу. T1 исправили на T2.наоборот, Т2 исправили на Т1, изначально вкралась опечатка. Правильный sizeof: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. sizeof( T2 ) не участвует в расчёте размера структуры, потому что мы говорим, что будет массив переменной длины, и, типа, мы сами-с-усами и зададим потом правильный размер. Компилятор говорит нам: Ок, теперь ты сам-себе-злобный-буратино, а я не буду учитывать размер последнего массива при расчёте размера структуры. Как то так мне это видится )) sizeof(struct temp) не всегда равно sizeof(T0)+sizeof(T1), есть ещё выравнивание Такой вид структур-хаков довольно распространён. В дельфях, например, встроенные типы String, Array of имеют такую же структуру, это помогает избегать лишнего выделения памяти и наверное благоприятно сказывается на скорости, из-за того что данные в одном месте (кэш процессора не перегружается) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 06:18 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:00 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. В Си отсутствует перегрузка функций ? (это относится к структурам, проектирую дерево, и возник такой вопрос). Почему отсутствует ? PS Марк, а хорошая статья. Читаю сейчас, нравится. Странно, у меня на столе лежит Цилькер, Орлов Организация ЭВМ и систем, и я почему-то не нашел у них про так называемое выравнивание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 09:30 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryПочему отсутствует ?Потому, что компоновщик не понимает такого авангарда как одно имя у двух точек входа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 15:32 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗдравствуйте. В Си отсутствует перегрузка функций ? (это относится к структурам, проектирую дерево, и возник такой вопрос). Почему отсутствует ? А для понимания этих вопросов надо читать Michael Scott, Programming Language Pragmatics. SashaMercuryPS Марк, а хорошая статья. Читаю сейчас, нравится. Странно, у меня на столе лежит Цилькер, Орлов Организация ЭВМ и систем, и я почему-то не нашел у них про так называемое выравниваниеА это кто такие? Мировой общественности эти имена не известны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:00 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСтранно, у меня на столе лежит Цилькер, Орлов Организация ЭВМ и систем, и я почему-то не нашел у них про так называемое выравнивание страница 80 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:09 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСтранно, у меня на столе лежит Цилькер, Орлов Организация ЭВМ Ну ты... дал джазу. У меня при слове ЭВМ начинается когнитивный диссонанс и раскаты смеха. Еще-бы написали "табулятор". Или счётная "машинка". Честно скажу я нечитал этих замечательных людей. Но сам факт заимствования терминологии из середины 20-го века доставляет. Ну да бох с ними. Вобщем обхохтался... Фух. Вобщем я за 30 секунд тебе нагуглил: Кури ключевые слова padding . http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:32 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryВ Си отсутствует перегрузка функций ? (это относится к структурам, проектирую дерево, и возник такой вопрос). Почему отсутствует ? Basil A. SidorovПотому, что компоновщик не понимает такого авангарда как одно имя у двух точек входа. Никаких технических причин для этого нет. С++ например использует тот же компоновщик, и это не мешает ему иметь перегрузки. Единственная причина по которой в С нет перегрузок - это консервативность разработчиков языка, которые по максимуму охраняют синтаксис и простоту языка. И в принципе их можно понять. Снобизм вообще понятная штука )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:37 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyС++ например использует тот же компоновщик, и это не мешает ему иметь перегрузкиТолько потому, что компоновщику совершенно по барабану как именно компилятор задекорирует имя. Одно имя на две точки входа он (компоновщик) всё равно не умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38877814&tid=2018439]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 142ms |

| 0 / 0 |
