Yoko

All sides of Injection
It is currently 2025-12-27 20:44:21

All times are UTC+02:00




Post new topic  Reply to topic  [ 18 posts ] 
Author Message
PostPosted: 2005-04-28 10:12:09 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Если массив [20] то последний элемент 19? Или 20?

И еще, на форуме уже поднималась такая тема, но толком никто на нее не ответил.
Будут ли в инже инклуды одного скрипта в другой?
А то есть множество нужных во всех скриптах функций, и если бы можно было вынести их все в отдельный файл, то было-бы очень удобно просматривать и понимать скрипты.


Top
   
PostPosted: 2005-04-28 10:24:24 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Beyonder wrote:
Если массив [20] то последний элемент 19? Или 20?
19

Beyonder wrote:
И еще, на форуме уже поднималась такая тема, но толком никто на нее не ответил.
Yoko отписывался на данную тему. поищи.


Top
   
 Post subject:
PostPosted: 2005-04-29 15:17:53 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
По документации - 19. Фактически - 20, но может в любой момент взглючить, что закончится анхандлед еррор ин парсер.


Top
   
 Post subject:
PostPosted: 2005-04-30 12:28:40 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
делать статический массив точно того размера что потребуется, такаяже идиотская затея, как брать точное количество пластиковых стаканчиков на шашлыки


Top
   
 Post subject:
PostPosted: 2005-04-30 14:40:38 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Yoko wrote:
делать статический массив точно того размера что потребуется, такаяже идиотская затея, как брать точное количество пластиковых стаканчиков на шашлыки

Ну лучше уж взять точное количество стаканчиков, чем вобще без них :wink:

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Last edited by Destruction on 2005-05-04 01:38:10, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2005-04-30 14:50:41 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
Лучше брать с запасом :lol:


Top
   
 Post subject:
PostPosted: 2005-04-30 15:16:34 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
I'm wrote:
Лучше брать с запасом :lol:

А мне вот интересно - скажем пишем ходилку, отсканировал путь, нашел препятствия, чтобы их обойти - надо в массив написать дополнитльные направления, сколько их будет - неизвестно, какого же тада размера брать массив?!

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Last edited by Destruction on 2005-05-04 01:36:35, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2005-04-30 17:29:30 
Offline
Expert!
User avatar

Joined: 2004-04-04 21:40:09
Posts: 1007
Внушительного. :lol:


Top
   
 Post subject:
PostPosted: 2005-05-04 01:37:56 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
AGRS wrote:
Внушительного. :lol:

Пасиб конечно, но я сделал по другому, и теперь надеюсь, что длинна строки ничем не ограничена :roll:

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2005-05-04 06:40:23 
Offline
Expert!
User avatar

Joined: 2004-04-04 21:40:09
Posts: 1007
Ну и правильно. Идея с массивом для таких задач не подходит. :)


Top
   
 Post subject:
PostPosted: 2005-05-04 11:49:16 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Еще вопрос. Как реализованы строки в инжекте?
Вопрос чисто для интереса.
Варианты:
а) Как String
b) Как char *
c) Как Vector ?

А насчет точного числа элементов, то иногда бывает надо. Например если я уверен что макс размер не превысит 200, зачем мне брать 201?


Top
   
 Post subject:
PostPosted: 2005-05-04 15:31:16 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Beyonder wrote:
Еще вопрос. Как реализованы строки в инжекте?
Вопрос чисто для интереса.
Варианты:
а) Как String
b) Как char *
c) Как Vector ?

А насчет точного числа элементов, то иногда бывает надо. Например если я уверен что макс размер не превысит 200, зачем мне брать 201?

вероятно а.

А чтобы не сглючило.

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2005-05-04 15:58:58 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Beyonder wrote:
Еще вопрос. Как реализованы строки в инжекте?
Вопрос чисто для интереса.
Варианты:
а) Как String
b) Как char *
c) Как Vector ?
аналогично паскалевскому string, т.е. как масив of char


Top
   
 Post subject:
PostPosted: 2005-05-05 13:10:10 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Стоп. Чего-то я не понял.
String тип С++ это не массив, это тип похожий на VECTOR (может в основе он и есть)
А массив символов это второй вариант char * который не динамический.
В общем главный интересующий вопрос это как занимаеться им память?
Например:
var Line='Testing big line' #16 символов всего. Память резервируеться на 16 символов или сразу с резервом например на 255?
Line[16]='!' # Запись нового символа в конец. Памяти выделиться еще на один символ или сначала используеться резерв?
Есть ли предел длины строк?


Top
   
 Post subject:
PostPosted: 2005-05-05 14:20:43 
Offline
Expert!

Joined: 2005-01-19 11:58:09
Posts: 46
>>String тип С++ это не массив, это тип похожий на VECTOR (может в основе он и есть)
1. Масив... вектор.... если ты имеешь ввиду шаблон вектор из СТЛ это одно а если как определние то одномерный масив он и есть вектор....

>>А массив символов это второй вариант char * который не динамический.
2. Бред вообще какой то... масив символов и char * это разные вещи...
char * это указательн а память с типом char ... а масив символов это и есть та память минимальная единица которой равна ... char +) а какая она динамически выделенная или нет... это уже второй вопрос ...


3.Опять таки есть исходный код Йоко инжекта который можно посмотреть на официальной страничке... там есть файлик mystring.c собсвенно там есть класс TString ... и собсвенно говря можно погледять как всё устроено....

Code:
TString::TString(const char * s)
{
    Buff=strdup(s);
    StringLen = strlen(s);
    BuffSize=StringLen+1;
}


вот тебе конструктор .... так что выделяется будет столько сколько надо под конкретную строку.... так что размер я думаю будет ограничен лишь твоим здравым смыслом... ну и тд...



>>Yoko wrote:
>>делать статический массив точно того размера что потребуется, >>такаяже идиотская затея, как брать точное количество пластиковых >>стаканчиков на шашлыки

Ммм если я определяю масив в 20 лэлементов то программа должна зарезервировать столько памяти... если я хочу определить динамическое кол-во элементов чтоб можно было добавлять та или удалять и тд итп.. ну тогда может использовать LinkedList ? или там Stack ? класс... ну это уже совсем другая история +)


Top
   
 Post subject:
PostPosted: 2005-05-05 14:54:50 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Вообще-то любой массив это указатель.
Вариант 1:
int Array[20];
((*Array) == Array[0]); // Тоесть сам массив являеться указателем на первый его элемент.

Вариант 2:
int *Array;
Array=new int[20];
((*Array) == Array[0]); // Здесь же указатель являеться массивом и указывает на первый элемент так-же как и в предыдущем случае.

Разница между этими примерами лишь в том, что в первом варианте массив есть массив и ничто другое, а во втором, это указатель из которого по желанию можно сделать ничем не отличающийся от первого случая массив.

Причем во множестве программ как на меня удобнее использовать именно char * из-за его динамичности.

А насчет кода, то честно говоря лень было искать и понимать что там написано :).


Top
   
 Post subject:
PostPosted: 2005-05-05 15:09:35 
Offline
Expert!

Joined: 2005-01-19 11:58:09
Posts: 46
>> использовать именно char * из-за его динамичности.
а ты буквально недавно говрил.... цитирую "А массив символов это второй вариант char * который не динамический."

второе не надо путать понятия языка... с тем как ты решил это обозвать....

Если ты гворишь МАСИВ это область памяти ... если ты гворишь указатель то это переменная содержащая адрес некой области памяти с типом или без него.... вот если ты говришь ИМЯ МАСИВА да имя масива представляет собой типизированый адрес на область памяти занятую этим масивом.... а по поводу...

char bla[0] = '0';

и

char *bla = malloc(100);
bla[0] = '0';

да конечно и там и там в первый элемент размером в один байт будет равен '0' ... но в компиляторе реализация адресациии в данных случиях будет нмного другая... но это к делу мало относится просто когда я гворю МАСИВ я и имею ввиду понятие МАСИВ ... примерно тоже самое когда ты гворил про ВЕКТОР и МАСИВ.... либо больше конкретики.. либо обзывать надо всё своими именами...


Top
   
 Post subject:
PostPosted: 2005-05-05 17:09:29 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Просто в первом случае я имел ввиду немного не ту динамичность. Просто не нашел другого слова. Я имелл ввиду что такой массив не удлиняем, а в общем я просто запутался в выражениях :).


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 18 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited