Я хочу по битам считать определенную область памяти, первый вариант работает, второй - нет, хотя делает почти то же самое.
bitset<32> *readInt(unsigned int num) {
bitset<32> *b = new(&num) bitset<32>;
return b;
}
int main()
{
bitset<32> *a = readInt(12345);
cout << *a << endl;
// output: 00000000000000000011000000111001
unsigned int num = 12345;
bitset<32> *b = new(&num) bitset<32>;
cout << *b << endl;
// output: 00000000000000000000000000000000
return 0;
}
Не работают оба варианта. Объект unsigned int
не может использоваться для предоставления места объекту bitset<32>
. Конструкция placement new должна создавать новый объект, дефолтный конструктор которого обнуляет все биты, а не считать что-то по битам. Функция readInt
вообще возвращает битый указатель на локальную переменную.
Получайте доступ к object storage и вручную печатайте его содержимое по битам.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Известно, что на доске 8×8 можно расставить 8 ферзей так, чтобы они не били друг другаВам дана расстановка 8 ферзей на доске, определите, есть...
Как через jquery создать элемент с несколькими классами? Нужно получить что-то типа такого:
Помогите, кто знаетВхожу через adminer в mariadb, через root все работает