[C++ Object Model] 繼承對於member佈局的影響
阿新 • • 發佈:2019-01-26
繼承對於member佈局的影響
static member functions 特性
- 選擇哪些函式作為 inline 函式
- C++ 記憶體對齊機制
- vptr 放置在 class object 的前端還是尾端?
- 如何存取 shared subobject 內的資料
- vptr 中 functions 的地址偏移
- 堆疊建立
- 引數排列
- 返回地址
- 堆疊清除
#include <iostream> #include <vector> #include <functional> using namespace std; int main(){ vector<function<int(void)>> fun; for (int i = 0; i != 4096; ++i){ fun.push_back([=]{ return i; }); } //test }
static member functions 特性
- 沒有 this 指標
- 不能直接存取其 class 中的nonstatic members
- 不能被宣告為 const, volatile 或 virtual
- 不需要經由 class object 呼叫