你好,我想創建一個像汽車套接字連接我自己的公共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
如果在類中定義,則函數默認爲內聯。在類之外(在頭文件或實現文件中),需要將它們標記爲內聯。優化器也可以選擇內聯。 –