3

我想编写一个只有标题布局的 C++ 应用程序,如下所示:

// code3.h
#include <iostream>
class code3
{
public:
  void print()
  {
    std::cout << "hello " << std::endl;
  }
};

// code2.h
#include "code3.h"
class code2
{
public:
  void print()
  {
    code3 c;
    c.print();
  }
};

// code1.h
#include "code3.h"    
class code1
{
public:
  void print()
  {
    code3 c;
    c.print();
  }
};

// main.cpp
#include "code1.h"
#include "code2.h"

int main()
{
  code1 c1; 
  c1.print();

  code2 c2; 
  c2.print();
}

唯一的 cpp 文件将是主文件。其余代码将放在头文件中。

我想知道这种方法是否存在某种性能问题。我知道在类声明中定义方法会内联它们,但由于它只是一个 cpp 文件,内联方法不会重复。我只想把我的问题集中在表现上。我不是在谈论可扩展性、易读性、维护或其他任何东西。我想知道我是否遗漏了这种方法可能会产生性能问题的东西。

谢谢!

4

2 回答 2

4

当您的项目有数百个文件(或更多)时,您会发现这变得相当不切实际,并且每次更改某些内容时都必须重新编译所有代码。

在一个小型软件项目中,几乎没有理由拥有不同的源文件,但拥有多个源文件并没有很大的缺点。

当源开始有十几个文件时,编译时间开始增加。隔离代码的功能组也更加困难,这反过来又会影响您将一块代码用于不同项目的难易程度——这在处理代码时通常是一件有用的事情。

于 2013-09-28T11:03:33.977 回答
4

上次我问这个问题时,我得到了很多有用的答案:http ://www.daniweb.com/software-development/cpp/threads/423106/separate-headers-from-source

基本上我问为什么我应该将我的源代码与标题分开,因为我也曾经讨厌拥有“额外”文件并在标题和源代码之间来回切换。我认为我得到的答案可能对你有用,所以我将把那个链接留在上面。

于 2013-09-28T19:14:02.323 回答