![]() |
Страницы (78): « Первая ... « 32 33 34 35 [36] 37 38 39 40 » ... Последняя » Показать все 1159 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- несколько вопросов (https://hlfx.ru/forum/showthread.php?threadid=2935)
кто может скинуть хорошую статью плюсы и минусы по работе со строкой через указатель или объявленный массив ну вообще с любыми объектами по типу:
char * s1 = "test" и char s2[32]= "test"
1 | if( svgame.pmove->onground == -1 ) |
2 | clent->v.flags &= ~FL_ONGROUND; |
3 | else if( pmove->onground >= 0 && pmove->onground < pmove->numphysent ) |
4 | { |
5 | clent->v.flags |= FL_ONGROUND; |
6 | clent->v.groundentity = EDICT_NUM( svgame.pmove->physents[svgame.pmove->onground].info ); |
7 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Во-во, вижу
Работа с памятью - это самое больное место современных программистов.
Потому что поверх современных языков понаворочено столько слоёв абстракции. призванных именно облегчить вот эту работу с паматью, что программист зачастую вообще не понимает и боится с ней работать напрямую. Я уже не говорю, что при виде конструкции такого плана:
1 | // give space for textures and skinrefs |
2 | size1 = thdr->numtextures * sizeof( mstudiotexture_t ); |
3 | size2 = thdr->numskinfamilies * thdr->numskinref * sizeof( short ); |
4 | mod->cache.data = Mem_Alloc( loadmodel->mempool, phdr->length + size1 + size2 ); |
5 | Q_memcpy( loadmodel->cache.data, buffer, phdr->length ); // copy main mdl buffer |
6 | phdr = (studiohdr_t *)loadmodel->cache.data; // get the new pointer on studiohdr |
7 | phdr->numskinfamilies = thdr->numskinfamilies; |
8 | phdr->numtextures = thdr->numtextures; |
9 | phdr->numskinref = thdr->numskinref; |
10 | phdr->textureindex = phdr->length; |
11 | phdr->skinindex = phdr->textureindex + size1; |
12 |
13 | in = (byte *)thdr + thdr->textureindex; |
14 | out = (byte *)phdr + phdr->textureindex; |
15 | Q_memcpy( out, in, size1 + size2 ); // copy textures + skinrefs |
16 | phdr->length += size1 + size2; |
ptr1 = ptr2; |
*ptr1 = *ptr2; |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
XaeroX
Можно сказать ты пряма прочитав Страуструпа прямо сразу сел и за вечер написал волатилу . В этом деле практика, практика.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
FiEctro
Прочитав Страуструпа (которого я, кстати, не читал), я не задавал глупых вопросов по основам языка. А в самом деле сел и написал волатилу, правда, не эту - а старую и глючную, и вообще на DirectX 7. Но тем не менее.
Добавлено 04-01-2012 в 18:45:
__________________
Дядя Миша
В том то и дело что забросил это дело, не практикуюсь давно.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro
Тогда и не советуй другим.
__________________
ptr1 = ptr2; - присваивание значений
*ptr1 = *ptr2; - указателю ptr1 присваиваем указатель ptr2,
отсюда значение переменной ptr1 будет ровно значению ptr2,
если ptr2 = NULL то и ptr1 станет NULL.
вроде так.
мне интересно когда мы тупо в указатель char пишем например 2000 байт букв, он же атким образом портит память в другом месте?
надо выделить память либо объявить char text[2000]
а потом уже можно *text работать?
вот пример:
1 | const char *pszName; |
2 | if (!II.pszName) |
3 | pszName = "Empty"; |
4 | else |
5 | pszName = II.pszName; |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 22:46. | Страницы (78): « Первая ... « 32 33 34 35 [36] 37 38 39 40 » ... Последняя » Показать все 1159 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024