gpt4 book ai didi

c++ - 可以在类中使用外部变量吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:03 26 4
gpt4 key购买 nike

在C++中,是否可以将类成员变量标记为extern?

可以吗

class Foo {
public:
extern string A;
};

字符串 A 在我包含的另一个头文件中定义的位置?

最佳答案

如果我正确理解你的问题和评论,你正在寻找 static data members

将字段声明为static:

// with_static.hpp
struct with_static
{
static vector<string> static_vector;
};

仅在一个 TU(±.cpp 文件)中定义它:

// with_static.cpp
vector<string> with_static::static_vector{"World"};

然后就可以使用了。请注意,您可以使用 class::fieldobject.field 表示法,它们都引用同一个对象:

with_static::static_vector.push_back("World");

with_static foo, bar;
foo.static_vector[0] = "Hello";

cout << bar.static_vector[0] << ", " << with_static::static_vector[1] << endl;

上面应该打印Hello, World

live demo

关于c++ - 可以在类中使用外部变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39988741/

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