avatar
P*b
1
const int MaxEntries = 10;
extern int entries[MaxEntries];
这里MaxEntries到底对其他translation unit可不可用?
如果可以是因为entries[MaxEntries]吗?这是什么rule?
如果不可以,哪entries也会受到影响。
avatar
p*c
2
情节拖沓,没有任何出彩的地方,不知所云……
avatar
z*e
3
1. C++里边,const是default internal linkage 的。if you want to use it for different
translation units, you must use extern for the definition.
2. the code you write can have "static initialization dependency". so it is
dangerous.
avatar
P*b
4
dependency可以workaround的。
但是我的问题是MaxEntries在这种情况下到底可不可以被其他translation unit访问。

different
is

【在 z****e 的大作中提到】
: 1. C++里边,const是default internal linkage 的。if you want to use it for different
: translation units, you must use extern for the definition.
: 2. the code you write can have "static initialization dependency". so it is
: dangerous.

avatar
y*c
5
这个可以测试一下吧。不过我猜测一下。MaxEntries 不能被别的unit使用因为没有
extern. entries可以,因为compiler知道他是extern,别的unit使用时会找到定义,
那么就同时找到MaxEntries定义。
avatar
z*e
6
我不是回答你的问题了么?

【在 P*******b 的大作中提到】
: dependency可以workaround的。
: 但是我的问题是MaxEntries在这种情况下到底可不可以被其他translation unit访问。
:
: different
: is

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。