О конкатенации строк
Sep. 19th, 2011 08:14 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Дано: мутабельная переменная максимально длиной 3 символа. В ней записано этих самых три символа и некий интерпретатор пытается выполнить следующую операцию:
a=a+'c'
само собой, падая с рунтайм-ошибкой.
Внимание, вопрос: насколько теоретически сложно в рунтайм-ошибке показать причину этой ошибки, если сначала выполняется конкатенация строк с получением 4-символьной строки, а потом производится присвоение этой строки переменной, где может хранится только 3 символа?
a=a+'c'
само собой, падая с рунтайм-ошибкой.
Внимание, вопрос: насколько теоретически сложно в рунтайм-ошибке показать причину этой ошибки, если сначала выполняется конкатенация строк с получением 4-символьной строки, а потом производится присвоение этой строки переменной, где может хранится только 3 символа?
no subject
Date: 2011-09-19 05:53 pm (UTC)no subject
Date: 2011-09-19 05:56 pm (UTC)no subject
Date: 2011-09-19 06:28 pm (UTC)Сначала должна выполняться проверка на границы. len (a) == 3, sizeof (a) == 3. 3 + 1 > 3 - наступает рунтиме еггог.
no subject
Date: 2011-09-20 06:07 am (UTC)no subject
Date: 2011-09-19 06:53 pm (UTC)no subject
Date: 2011-09-19 07:26 pm (UTC)a = "<tag>" + b + "e" + a + "</tag>"
то переменная "a" именно внутри этого выражения получает свойство onPlace, а при попытке сконкатить с кем то - "page error: core dumped" :)
no subject
Date: 2011-09-19 07:33 pm (UTC)no subject
Date: 2011-09-19 07:25 pm (UTC)etc.
no subject
Date: 2011-09-21 11:48 am (UTC)no subject
Date: 2011-09-28 11:03 am (UTC)