gpt4 book ai didi

c++ - 需要静态变量的类外定义吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:22:07 26 4
gpt4 key购买 nike

我的问题:k 的类外定义到底在做什么以确保其地址可用?

#include <iostream>
using namespace std;

class A {
public:
static const float k = 7.7;
};

//const float A::k; --> without this line compiler error

int main()
{
cout << &A::k;
}

最佳答案

“定义”类实际上只是提供了A::k的“声明”。是的,我知道这很令人困惑,但我们的想法是允许类定义在 .h 中(包含在多个 .cpp 源中)而不会产生歧义:一,在这些 .cpp 源中,只有一个必须提供实际的定义以匹配 A::k声明(后者是类 A定义的一部分)。

关于c++ - 需要静态变量的类外定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com