std bitmap for user defined classes, handler2006, 23-Май-12, 13:55 [смотреть все]Здравствуйте! Вопрос немного философский, и, скорее всего, практического применения не имеет. Итак. Нашел конструкцию своппинга при помощи битовых операторов:
a^=b^=a^=b
Данная конструкция работает для встроенных типов, а вот как можно ее применить к типам данных , определяемых пользователем? В документации описаны примеры создания битовых наборов только для числовых типов данных и стрингов, причем, последние должны содержать в себе только символы 0 и 1. int a = 42; double b = 3.14 std::string c = "1001"; std::string d = "123"; std::bitset<2> _a(a); // OK std::bitset<2> _b(b); // OK std::bitset<2> _c(c); // OK std::bitset<2> _d(d); // Error
А вот так нельзя: class A {...}; std::bitset<2> _a(a); // Error
Или все-таки можно?
|