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

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 293031   

Most Popular Tags

Style Credit

Expand Cut Tags

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