Я не уверен, возможно ли это, потому что, насколько мне известно, ссылки не могут ссылаться на отдельные биты целого числа, но мне любопытно узнать, есть ли техника, которая позволит использовать следующий эффект.Возможно ли перегрузить оператор индексирования [] для возврата битов из целого числа?
int z = 0x1234;
z[0] = 1; //set the most significant bit of z.
uint8_t bit = z[30] //get the index 30 bit of z, counting from the left.
Если я не могу иметь z[0] = 1
, мне интересно, если это по крайней мере, возможно, чтобы иметь возможность извлекать биты с помощью операции перегрузки.
Перегрузка оператора не работает для встроенных типов, но вы можете создать свой собственный целочисленный класс и перегрузить [] для своего класса? – Saqlain
Зачем использовать оператор индекса вообще? Это, несомненно, заслонит код, так как это не нормальное использование операторов индексирования. Лучше предоставить функцию, в которой четко указано, что она делает. –