你好,我想创建一个像汽车套接字连接我自己的公共C++工具。但我有两种方法,我想知道哪种方式更好。 方式1: 插入一个头文件和其他人在里面的功能(带源)只包含头文件和使用的功能...
sock.h创建一个头文件类和函数库没有
#include <iostream>
class sock {
public:
bool create();
bool bind();
bool listen();
}
inline bool sock::create() { ... }
inline bool sock::bind() { ... }
inline bool sock::listen() { ... }
和第二种方法是创建一个标题文件,并且还创建静态库(C++)
sock.h
#include <iostream>
class sock {
public:
bool create();
bool bind();
bool listen();
}
sock.cpp
#include "sock.h"
bool sock::create() { ... }
bool sock::bind() { ... }
bool sock::listen() { ... }
哪种方式更好? (我选择第一种方式我自己,因为它很容易让客户只包含一个头文件和使用的功能,但在第二个方式的客户端必须包括头,并且还包括库文件,没有任何问题的第一种方式?
编译的时候可能是一个问题 – user463035818
有没有问题。据我记得,头文件中的函数定义默认为内联,所以如果你有很长的函数,你可能需要考虑第二种方法。 – xyious
如果在类中定义,则函数默认为内联。在类之外(在头文件或实现文件中),需要将它们标记为内联。优化器也可以选择内联。 –