gpt4 book ai didi

c++ - 拥有与标准 header 同名的自己的 header 是否是未定义的行为?

转载 作者:行者123 更新时间:2023-11-30 01:18:59 27 4
gpt4 key购买 nike

多年来,我已经意识到我有自己的 header ,名为 algorithm.h

我总是把它包含在:

#include "algorithm.h"

相对于包含标准 header :

#include <algorithm>

我从来没有遇到过任何含糊不清的问题(甚至在 gcc 中也没有警告),但我想知道这是否只是运气。我喜欢标题的名称,我不想因为害怕而重命名它。

如果它不是未定义的行为,它是否被认为是不良风格?

最佳答案

不,这不是未定义的行为。除了作为标准库一部分的头文件之外,标准没有说明任何头文件。事实上,它甚至指定(C++11,第 16.2.3 节 [cpp.include])如果你要做类似的事情

#include "algorithm"

并且没有找到 header ,那么它做同样的事情

#include <algorithm>

是否有一个名为 algorithm.h 的 header 是糟糕的风格是值得商榷的。我会避免使用它,因为它可能会使 C++ 经验较少的程序员感到困惑。但是,如果您问我,像 utils/algorithm.h 这样的东西就可以了。

关于c++ - 拥有与标准 header 同名的自己的 header 是否是未定义的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636730/

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