gpt4 book ai didi

c++ - 为什么我们在 C++ 中分别声明和定义函数?

转载 作者:行者123 更新时间:2023-12-04 05:36:01 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why have header files and .cpp files? [closed]

(9 个回答)


2年前关闭。




我才刚刚开始学习C++,我看到函数通常是单独声明和定义的,例如:

// Declaration
void sayhi(std::string name);

// Definition
void sayhi(std::string name) {
std::cout << "Hello, " << name;
}

我尝试查找,但大多数问题都是针对 Class 的案例,但我的问题是更笼统的,为什么我们将它们分开?有什么好处?

最佳答案

相同的函数可以在不同的编译单元中使用。

如果它将在头文件中定义并且它不是内联函数或具有内部链接的函数,则如果头文件包含在多个编译单元中,则单一定义规则(ODR)将被破坏。

因此,通常此类函数在 header 中声明,但在某些模块中定义。因此,使用头文件不同的编译单元将看到函数声明,并且函数将只定义一次。

如果一个程序仅由一个编译单元组成,则无需单独声明和定义函数,因为函数定义同时也是它的声明。

关于c++ - 为什么我们在 C++ 中分别声明和定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57905734/

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