内联变量如何在C ++ / C ++ 17中工作?
在C++中,我们可以将inline关键字用于函数。在C++17版本中,内联变量概念来了。
可以以多个翻译单元定义内联变量。它也遵循一个定义规则。如果多次定义,则编译器将它们全部合并到最终程序中的单个对象中。
在C++(C++17版本之前)中,我们无法直接在类中初始化静态变量的值。我们必须在类之外定义它们。
范例程式码
#include<iostream>
using namespace std;
class MyClass {
public:
MyClass() {
++num;
}
~MyClass() {
--num;
}
static int num;
};
int MyClass::num = 10;
int main() {
cout<<"The static value is: " << MyClass::num;
}输出结果
The static value is: 10 In C++17, we can initialize the static variables inside the class using inline variables.
范例程式码
#include<iostream>
using namespace std;
class MyClass {
public:
MyClass() {
++num;
}
~MyClass() {
--num;
}
inline static int num = 10;
};
int main() {
cout<<"The static value is: " << MyClass::num;
}输出结果
The static value is: 10
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短