powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объясните что это?
3 сообщений из 3, страница 1 из 1
Объясните что это?
    #39092019
GorloPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни, знатоки С++! Объясните мне пожалуйста что означает такая конструкция? Заранее спасибо!

Объявлено в .h файле. Как "расшифровать" это?
Код: plaintext
1.
void (*buttslot[BUTTONS_SLOTS])(uint8_t)



Вот тут используется. Объясните что тут происходит?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
#define BUTTONS_SLOTS 3
.......................................

void Buttons::search(uint32_t time){//Tmanager function
	uint8_t slots = BUTTONS_SLOTS;
	uint8_t buttonscurrstate = buttonsState();
	//update buttons every some time, with overflow prevention
	if (abs(time - lastupdatetime) > updatetime){
		if (buttonscurrstate)//if any button was pressed
		{ //check all buttons slot
			for (uint8_t buttonslot = 0; buttonslot < slots ; buttonslot++)
			{//detect edge only
				if ((buttonscurrstate & (1 << buttonslot)) && (!(buttonoldstate & (1 << buttonslot))))
				{
					if (buttslot[buttonslot]);
					{
						(*buttslot[buttonslot])(buttonscurrstate&(1 << buttonslot));
					}
				}
			}
		}
		buttonoldstate = buttonscurrstate;//save old state
		lastupdatetime = time;
	}
}
...
Рейтинг: 0 / 0
Объясните что это?
    #39092047
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorloPavelОбъявлено в .h файле. Как "расшифровать" это?
Массив указателей на функции, принимающие на вход байт и ничего не возвращающих.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Объясните что это?
    #39092359
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,



И затем вызов функцией из массива по указатель.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объясните что это?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]