beldmit: (Программизм)
[personal profile] beldmit
Вижу у [livejournal.com profile] colobuska (ВМК, третий курс) в коде программы на C++ конструкцию

int func(int arg)
{
...
float matrix[arg][arg]
...
}

Что, так уже можно? Без геморроя с malloc/new/free/delete?

А вообще у них любопытные задачки на машграфе. Понятно, что простейшие фильтры, и можно их такие самому придумать, но все равно интересно. И Qt как основа - тоже правильно.

Date: 2011-09-24 02:04 pm (UTC)
From: [identity profile] shvedka.livejournal.com
Это ты как-то крепко от жизни отстал, у Страуструпа такая конструкция описана, причем во втором издании как минимум...

Date: 2011-09-24 02:09 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Ну может быть. Кажется, я как-то наступил на грабли, что gcc 2.95 с теми опциями, которые в проекте были, аналогичную конструкцию не сожрал.

Date: 2011-09-24 02:15 pm (UTC)
From: [identity profile] shvedka.livejournal.com
А, подожди. В те прекрасные времена она только с константным размером работала, да. Это я не подумамши ляпнула :))

Date: 2011-09-24 02:34 pm (UTC)
arilou: (Default)
From: [personal profile] arilou
Давно было можно. Когда я активно кодил RMUD (2003-2005), я это обнаружил и использовал.
From: [identity profile] qkowlew.livejournal.com
А то блин куда пойдёт оно если alloc не прошёл...

Date: 2011-09-24 04:16 pm (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
у Страуструпа такая конструкция не описана ни где, потому что это не С++.
по теме -- официально в С так можно с С99, в С++ нельзя. до этого можно было делать alloca (с разницей что VLA освобождается в конце блока, а alloca в конце функции). поскольку это все выделяется на стеке, для двухмерных массивов флотов это может оказаться не лучший выбор.

Date: 2011-09-24 05:15 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Не страшно? А вдруг на C++ переходить вздумаете?

Date: 2011-09-24 05:19 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Кстати, в C++ это нестандартное поведение мало того, что непортабельно, так ещё и чревато глюками при взаимодействии с другими средствами.

Date: 2011-09-24 11:28 pm (UTC)
From: [identity profile] slobin.livejournal.com
Почитал комменты. Осознал, что надо наконец изучить C99.

P.S. А C++ не надо, тут моё мнение не изменилось. ;-)

... Эч ба мЕ? Элтай ба сэтай? ...

Date: 2011-09-25 07:05 am (UTC)
From: [identity profile] beldmit.livejournal.com
Угу. Судя по тому, что внутри Qt Creator живет MInGW, именно оно.

Date: 2011-09-25 07:06 am (UTC)
From: [identity profile] beldmit.livejournal.com
Зря, C++ последнего извода куда прикольнее.

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 03:37 pm
Powered by Dreamwidth Studios