Size: a a a

2020 August 19

IZ

Ilia Zviagin in supapro.cxx
Astar
const int NUM_LEDS = 24;

void loop() {
   static int *heap = new int[NUM_LEDS];

   for (int i = 0; i < NUM_LEDS; i++) {
       heap[i] = rand() % 10;
   }

   for (int i = 0; i < NUM_LEDS; i++) {
       cout << heap[i] << endl;
   }

   cout << " +++++++++++++ " << endl;

   //delete [] heap;
}

int main() {

   while(1) {
       loop();
       sleep(1);
   }
}

Нужно ли удалять динамический массив если у меня loop() должен выполняться постоянно? Код для микроконтроллера и метода main нет. Есть только loop() который постоянно выполняется пока есть питание на контроллере
Тут у тебя loop глобальная переменная или локальная?
источник

A

Astar in supapro.cxx
Ilia Zviagin
Тут у тебя loop глобальная переменная или локальная?
Глобал. Классов у меня там почти нету
источник

IZ

Ilia Zviagin in supapro.cxx
Astar
Глобал. Классов у меня там почти нету
Нет. Это локальная переменная
источник

A

Astar in supapro.cxx
Дык в почему extern не получится? если я например в main.cpp объявлю переменные, а в другом файле помечу нужные через extern? в теории разве это не даст доступ? Ну а фунции из других файлов вынести как прототипы в main.cpp?
источник

IK

Ivan Koliesnik in supapro.cxx
Astar
Потому что этот стандарт — это НЕ СТАНДАРТ полноценного языка Си++
почему? я с контроллерами работаю, и никаких проблем не возникает, хоть на stm32 c 64кб на борту
источник

IZ

Ilia Zviagin in supapro.cxx
Вот такая же локальная переменная может быть массивом, (а не динамически созданным массивом, как у тебя).

Ты знаешь размер массива заранее. Ты создаёшь его и уничтожаешь в строго определённом месте, в одной функции.
Поэтому нет смысла делать этот массив динамическим , у него фиксированное время жизни -- функция, и ограниченная область видимости -- та же функция.
источник

A

Astar in supapro.cxx
Дык в почему extern не получится? если я например в main.cpp объявлю переменные, а в другом файле помечу нужные через extern? в теории разве это не даст доступ? Ну а фунции из других файлов вынести как прототипы в main.cpp?
источник

IZ

Ilia Zviagin in supapro.cxx
Astar
Дык в почему extern не получится? если я например в main.cpp объявлю переменные, а в другом файле помечу нужные через extern? в теории разве это не даст доступ? Ну а фунции из других файлов вынести как прототипы в main.cpp?
EXTERN получится, просто тут это не нужно ни на фиг
источник

A

Astar in supapro.cxx
Ilia Zviagin
EXTERN получится, просто тут это не нужно ни на фиг
Короче я тут только больше запутался...
источник

VS

Vladimir Suisei in supapro.cxx
Astar
Дык в почему extern не получится? если я например в main.cpp объявлю переменные, а в другом файле помечу нужные через extern? в теории разве это не даст доступ? Ну а фунции из других файлов вынести как прототипы в main.cpp?
Не получится что? extern не имеет никакого отношения к выделению памяти
источник

IZ

Ilia Zviagin in supapro.cxx
Astar
Короче я тут только больше запутался...
Учи язык тогда, потом программируй, раз запутался...
источник

A

Astar in supapro.cxx
Vladimir Suisei
Не получится что? extern не имеет никакого отношения к выделению памяти
Сейчас я не веду разговор о выделении памяти. Выделение памяти передо мной стояла задача как одно из решений моей основной проблемы — РАЗДЕЛЕНИЕ ПРОЕКТА НА ОТДЕЛЬНЫЕ ФАЙЛЫ
источник

AC

Anton Chernysh in supapro.cxx
Ilia Zviagin
Учи язык тогда, потом программируй, раз запутался...
Странное выражение, имхо, как можно учить язык не программируя?
источник

IZ

Ilia Zviagin in supapro.cxx
Astar
Сейчас я не веду разговор о выделении памяти. Выделение памяти передо мной стояла задача как одно из решений моей основной проблемы — РАЗДЕЛЕНИЕ ПРОЕКТА НА ОТДЕЛЬНЫЕ ФАЙЛЫ
Это НЕ НУЖНО для решения твоей задачи.
источник

VS

Vladimir Suisei in supapro.cxx
Astar
Сейчас я не веду разговор о выделении памяти. Выделение памяти передо мной стояла задача как одно из решений моей основной проблемы — РАЗДЕЛЕНИЕ ПРОЕКТА НА ОТДЕЛЬНЫЕ ФАЙЛЫ
Ты уверен что хочешь рефакторить 2.5к строк низкоуровневого кода? Смотри, еще сломаешь все
источник

A

Astar in supapro.cxx
Ilia Zviagin
Учи язык тогда, потом программируй, раз запутался...
После Java, Си++ кажется какой то не понятной х..ней. Я не планировал вообще на нем кодить, но приходится в связи с работой
источник

IZ

Ilia Zviagin in supapro.cxx
Anton Chernysh
Странное выражение, имхо, как можно учить язык не программируя?
Надо программировать, но сначала надо выучить какую-то часть языка и понять её. ОН не понимает, а лезет программировать.
источник

A

Astar in supapro.cxx
Anton Chernysh
Странное выражение, имхо, как можно учить язык не программируя?
+
источник

IZ

Ilia Zviagin in supapro.cxx
Astar
После Java, Си++ кажется какой то не понятной х..ней. Я не планировал вообще на нем кодить, но приходится в связи с работой
Тоже бред -- на фиг ты туда пошёл работать, если не знаешь ничего?
источник

A

Astar in supapro.cxx
Vladimir Suisei
Ты уверен что хочешь рефакторить 2.5к строк низкоуровневого кода? Смотри, еще сломаешь все
Работает? Не трогай😅
источник