CPP {static静态, inline内联}

CPP {static静态, inline内联}

@MARK_1

inline

性質

@LINK: @LOC_0; 類內的inline static變量;

static

錯誤

你在函数里使用static变量, 一定要对函数有深入理解; 比如struct ST{ void F(){ static int D;}}, 你的ST a, b, c; 这些对象 他们都是共用的同一个static D, 因为面临的是同一个函数ST::F();
只有当F()函数 或 ST类 他是模板时, 此时才会有多个不同的static D, 但他仍然与*对象a/b/c*是无关的, 仅仅取决于模板类型;
.ST::F()这是函数的唯一标识, 即当??不同时 里面的static变量 才不是共用的;

@DELI;

使用static 一定要注意 你當前的函數 是不是遞歸函數, 或者說 你當前的函數 會不會多次被調用;
舉個例子, F(){ static int a = 1; ++ a; F(); cout<, 此時 你的a != 2, 因為中途調用了F()函數;

<

你可能感兴趣的:(CPP,java,前端,开发语言)