Так что мне нужно прочитать флаги в битах и установить флаги в битах.Эти биты имеют различные целочисленные размеры: int16, int32, int64 и т. Д.
Я хотел бы иметь функцию, которая делает что-то вроде этого:
static integertype function(integertype data, char startbit, char endbit);
Я не хочукодировать то, что будет одним и тем же кодом для изоляции битов для целых чисел разных размеров в отдельных, но идентичных функциях (для множества битовых функций, которые я хочу написать).
Я думал об использовании указателя void дляданные, чтобы все могло проходить через одну функцию.Это плохой дизайн?Как насчет эффективности?Я не имею представления о плохом / хорошем дизайне из-за моей неопытности.
static int function(void *data, char startbit, char endbit)
Эти флаги нужно рассматривать очень часто, так как это относится к системе сбора данных.Будет ли реализация пустого указателя разумно эффективной?
Я знаю, что преждевременная оптимизация - это плохо, но я хотел бы знать, какие вещи, как правило, менее или более эффективны, чем другие, чтобы принимать правильные решения.* Заранее спасибо, что отвезли меня в школу.