fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Foo {
  5. private:
  6. uint32_t m_time;
  7. uint32_t m_big : 20;
  8. uint32_t m_small : 10;
  9. uint32_t m_isblue : 1;
  10. uint32_t m_isnice : 1;
  11. public:
  12. Foo(uint32_t t, uint32_t big, uint16_t small, bool is_blue, bool is_nice)
  13. : m_time(t), m_big(big), m_small(small), m_isblue(is_blue), m_isnice(is_nice)
  14. { }
  15.  
  16. uint32_t get_time() const { return m_time; }
  17. uint32_t get_big() const { return m_big; }
  18. uint16_t get_small() const { return m_small; }
  19. uint16_t is_blue() const { return m_isblue; }
  20. uint16_t is_nice() const { return m_isnice; }
  21. };
  22.  
  23. int main() {
  24. Foo a{1032, 777777, 1023, 0, 1};
  25. cout<< a.get_time()<<", "<<a.get_big()<<", "<<a.get_small()<<", "<<a.is_blue()<<", "<<a.is_nice()<<endl;
  26. cout <<"Size of Foo: "<< sizeof (Foo)<<", size of 2 unint_32t: "<<2*sizeof(uint32_t)<<endl;
  27. return 0;
  28. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
1032, 777777, 1023, 0, 1
Size of Foo: 8, size of 2 unint_32t: 8