私は、主にUSBシリアル通信に関係するいくつかの単純なC関数からいくつかのC++ライブラリを作成しています。私は、MacとLinuxに移植することを目的として、VisualStudio2010で作成しています。
現在、SerialCommunicationクラスとPumpCommサブクラスがあります。現在、CreateMessage(uint8 msg [])、SendMessage(uint8 msg [])、ReadSerial(uint8 readmsg [])などのC関数があります。
私の質問は、msg []を関数パラメーターではなくメンバー変数に変更することによる不利な点はありますか?(擬似コード):
int main()
{
SerialPort sp;
sp.OpenSerial("COM19");
sp.CreateMessage("Messagetosend1234");
sp.SendMsg();
}
class SerialPort
{
private:
uint8 msg[];
public:
int32 OpenSerial();
int32 CreateMessage(uint8 msg[]);
}
私が見る利点は次のとおりです:1)msgは送信先のシリアルポートによって明確に所有されている、2)msgのスコープはシリアルポートのスコープである、3)msgの実装は非表示にできる(ゲッター/セッターを追加します。つまり、基本的にOOPの利点です。私はc++とOOPにかなり慣れていないので、特にシリアル通信に関しては、何かが足りないかもしれません。御時間ありがとうございます。