Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
cache 内存消耗
//g++ 5.4.0 #include <iostream> #include <string> #include <memory> #include <stddef.h> using namespace std; #define MEMB_SIZE(t,m) (sizeof(((t*)0)->m)) class A { public: A() {}; virtual ~A() {}; int a; int b; uint64_t c; }; class Node { public: uint64_t* prev; uint64_t* next; uint64_t* list; }; class Base { public: Base() {std::cout << "base cons" << std::endl;}; ~Base() {std::cout << " base des" << std::endl;}; uint64_t* a; uint64_t* b; uint64_t e; uint32_t c; uint8_t f; enum CacheState : uint8_t { NONE, INACTIVE, ACTIVE, WRITING_BACK, ACCESSED_AFTER_WRITING_BACK, CLEAN}; CacheState stat; }; class B : public Base { public: B() {std::cout << "b cons" << std::endl;}; ~B() {std::cout << " b des" << std::endl;}; class NodeCtx { public: ~NodeCtx() {std::cout << " NodeCtx des" << std::endl;}; Node node; }; NodeCtx g; }; enum CacheEnum : uint8_t { NONE, INACTIVE, ACTIVE, WRITING_BACK, ACCESSED_AFTER_WRITING_BACK, CLEAN}; int main() { //std::cout << offsetof(A, a) << " " << offsetof(A, b) << " " << offsetof(A, c); std::cout << " B " << sizeof(B) << " " << offsetof(B, g) << " " << sizeof(CacheEnum) << std::endl; std::cout << " base " << sizeof(Base) << " " << offsetof(B, g) << " " << sizeof(CacheEnum); Base *a= new B(); delete a; }
run
|
edit
|
history
|
help
0
ProdPriceEnum
lab17feb22x4B.cpp
ReplaceGreaterSum in BST
CV
typedef char*
Kth smallest element
alternate list
Stock buy/sell
NumberToWords
tuple_list_of