2019-06-08

プログラマ愚痴

大きなシステム開発プロジェクトアサインされて、プログラミングしている。

言語C++なんだけど、構造体同士を比較するのに、memcmp() 使ってて、みんなもそれを使えっていう。

中身を一個一個比較するより早いけど、構造体には内部にギャップができてるかもしれなくて、なので、

そのギャップの部分だけが違う二つの構造体は、「中身が異なる」と判断されてしまうのよね。

から構造体を作って各要素に中身を代入する前に構造体の領域全体を memset() でゼロで塗りつぶしましょう

ってことになってて、毎回それをやるんだけど、塗りつぶし忘れがないかどうか心配だったりする。

構造体メンバとして bool operator==(const T &other) を作るか、あるいは関数として

bool operator==(const T &obj1, const T &obj2) を作って、どちらにしても中身を一個一個比較するべきだとおもうんだよね。

一回書けば次から比較的楽に比較書けるのにな。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん