gpt4 book ai didi

c++ - 如果我在头文件中实现一个类会怎样?

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

<分区>

Possible Duplicate:
Inline functions in C++

如果我在它的头文件中完全实现了一个类,编译器会做什么?一个典型的例子如下:

class MyException
{
public:
explicit MyException(const char* file, int line) file(file), line(line) {};
const char* getFile() const { return file };
int getLine() const { return line };
private:
const char* const file;
const int line;
};

我打算像这样使用类:throw MyException(__FILE__, __LINE__)

我将这个头文件包含到每个 .cpp 文件中。我想编译器将编译该类的次数与它定义的次数一样多,并将(相同的)机器代码包含到它生成的每个目标文件中。现在,链接器会做什么?我尝试了一个更简单的示例(没有所有那些讨厌的 const's)并且它编译得很好。

如果我在头文件中实现了一个三屏长的 C 函数而不是一个简单的类,会发生什么情况?最后一个问题,我是否应该将示例拆分为 .h 和 .cpp 文件?

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