GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (1)   Поиск:  
 Автор Тема: мне нравится как Сатоши Накимото написал
гость
192.160.102.*
мне нравится как Сатоши Накимото написал
Добавлено: 15 янв 20 10:06

#define BEGIN(a) ((char*)&(a))
#define END(a) ((char*)&((&(a))[1]))
мелочь а приятно
[Ответ][Цитата]
cortl
Сообщений: 258
На: мне нравится как Сатоши Накимото написал
Добавлено: 17 янв 20 9:50
Изменено: 17 янв 20 11:00
Конечно, вкусовщина, да и old style, но я бы сократил:

#define END(a) ((char*)((&(a))+1))

PS: Хотя, нет, не вкусовщина, на две операции меньше.
[Ответ][Цитата]
гость
89.163.143.*
На: мне нравится как Сатоши Накимото написал
+1
Добавлено: 18 янв 20 4:57
вообшето по нормальному не стоит применять операцию индексировнаия массива к не-масиву, конец структурры логичне получать как (char*)&obj + sizeof(obj) на худой конец (char*)(&obj + 1)
[Ответ][Цитата]
cortl
Сообщений: 258
На: мне нравится как Сатоши Накимото написал
Добавлено: 18 янв 20 9:06
Цитата:
Автор: гость

вообшето по нормальному не стоит применять операцию индексировнаия массива к не-масиву, конец структурры логичне получать как (char*)&obj + sizeof(obj) на худой конец (char*)(&obj + 1)


C++ ничего не запрещает. При желании вы можете выстрелить себе в ногу. И ему пофигу уверены ли вы что попадёте между пальцев и попадёте ли.

Я не знаю контекста приведённого кода в топике, просто оптимизировал.
[Ответ][Цитата]
Сергей Гаврилов
Сообщений: 197
На: мне нравится как Сатоши Накимото написал
Добавлено: 20 янв 20 6:06
Цитата:
Автор: гость

вообшето по нормальному не стоит применять операцию индексировнаия массива к не-масиву, конец структурры логичне получать как (char*)&obj + sizeof(obj) на худой конец (char*)(&obj + 1)
Подержу, индексация для не массивов только вносит путаницу, код нужно писать прежде всего ПОНЯТНЫЙ ЧЕЛОВЕКУ, собсно ЯП для этого и придумали, а потом ООП, паттерны и тд, всякие такие не очевидные укорачивания в продакшине не приветствуются.
[Ответ][Цитата]
 Стр.1 (1)