one-definition-rule

one-definition-rule

文章 0 浏览 3

为什么 C++ 中允许多个 const 全局变量定义而不是在C语言中?

由于单一定义规则,C 或 C++ 中不允许对全局变量进行多重定义。但是,在 C++ 中,可以在多个编译单元中定义 const 全局变量,而不会出现错误。这与 C …

丢了幸福的猪 2024-11-10 07:14:08 0 0

当名称查找发现不同的声明时,ODR 违规

我一直在思考以下几点。考虑两个文件: A.cpp: template&ltclass T&gt void g(T) {} inline void f() { g(1) } B.cpp: template&ltclass T&gt void …

征棹 2024-11-08 03:38:53 0 0

这在 C++ 中可以合法地完成吗?

注意:以下代码非法 ,但符合标准的编译器不需要拒绝它(有些编译器不需要)。 在我正在使用的库中,我有一个 Foo 的模板函数声明以及 foobar.h 中 Ba…

南笙 2024-11-05 11:34:50 1 0

谁能解释一下当前 C++0x 标准草案的这一段吗?

谁能解释一下 ISO N3242 §3.2 第 4 点中的这一说法 与 ISO 标准 2003 相比,n3242 的添加部分: 4 如果类的使用方式要求类类型完整,则翻译单元中只需…

蓝眼睛不忧郁 2024-10-31 17:18:46 2 0

谁能解释一下当前 C++0x 标准草案的这一段吗?

谁能解释 ISO N3242 §3.2 第 2 点中的这一说法 非安置分配或 类的释放函数是 odr-根据 a 的定义使用 该类的构造函数。一个 非放置释放函数 对于一个类…

清眉祭 2024-10-31 07:08:48 1 0

在头文件中包含静态全局变量是否有意义?

静态变量具有文件范围。假设我有以下两个文件: file1.h file1.cpp file2.h file2.cpp 我在两个头文件中都声明了静态变量 static int Var1 。 file1.h…

对不⑦ 2024-10-18 04:23:51 3 0

一条定义规则:对应的实体可以有不同的名称吗?

我读了又读 C++ 标准中关于 ODR 的相关条款,但这个问题对我来说仍然悬而未决。该标准规定,内联函数的定义应出现在使用它的每个翻译单元中,并且定义…

留一抹残留的笑 2024-10-05 00:51:12 3 0

什么是单一定义规则?

C++ 中的单一定义规则到底说了什么? 我能找到的唯一值得信赖的地方是《C++ 编程语言,第 3 版》。编辑,第 9.2.3 页。除此之外,该规则还有其他官方…

知足的幸福 2024-10-02 06:59:17 4 0

你能解释一下这个 C++删除问题?

我有以下代码: std::string F() { WideString ws = GetMyWideString() std::string ret StringUtils::ConvertWideStringToUTF8(ws, ret) return ret …

偏爱自由 2024-08-23 15:09:53 7 0

如果内联是可选的,为什么删除“inline”会导致错误? 导致链接器错误?

我有一个具有内联成员的类,但后来我决定要从标头中删除实现,因此我将函数的成员主体移到了 cpp 文件中。 起初我只是在头文件中留下了内联签名(我太…

酸甜透明夹心 2024-07-22 04:41:47 8 0
更多

推荐作者

1CH1MKgiKxn9p

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

JackDx

文章 0 评论 0

信远

文章 0 评论 0

yaoduoduo1995

文章 0 评论 0

霞映澄塘

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文