PG日誌スマートフォン用の表示で見るPG日誌2019-05-12C++でUUID(GUID)風のデータを生成するC++C++でUUID(GUID)風のデータ列を取得するを紹介したいと思います。「風」なので実際に使用した結果、何らかの障害が発生したとしても責任は負えません。それでも良ければ以下参照ください。紹介する実装は以下環境で作成・確認しています。VisualStudio2017(15.9.11)VC++(C++11以上)Windows10(1809)実装したときのモチベーションは以下のおとり。見つからない?UUIDとGUIDの違いUUIDとは128bitの長さからなるデータの集合です。このデータ長の大半を乱数などで生成することで、多数の環境で生成してもほぼ重複することが無いユニークなデータや文字列とすることができる識別子の規則を表します。聞かれるのですが、「UUID」と「GUID」の違いは以下の通りです。以前Windowsで生成するGUIDは"バリアント"と呼ばれる部分のビット上位が"0b110"だったしかし、今は上位2ビットが"0x10"で初期のUUIDと同じになっているのでUUIDとGUIDの仕様は同じRCF4122形式で統一されているC#のGUIDクラスで生成される数列はUUIDと同じ。使用方法まずは使用方法です。一種類の唯一、ひとつだけの使用方法しかありません。UuidクラスのnewUuidメソッドを呼び出すと戻り値としてUUIDオブジェクトが取得できます。生成したデータは、toByteもしくはtoStringで扱いやすいデータとして取得できます。そのままUuidオブジェクト同士の比較もできます。(データ列からUuidオブジェクトに逆生成できないと微妙な気もしますが実装が面倒だったので実装してません。0;}ヘッダー(Guid.hpp)Guid.hppの内容は以下の通り。データを文字列として取り出す。str;}実装(Guid.cpp)Guid.cppの内容は以下の通り。すいません、めちゃくちゃ長くなってしまいました...(汗もう少し(かなり?)効率よく書けると思いますが、そこらへんは各自でカスタマイズしてください。RCF4122準拠を示すためにバリアントに署名したものを文字列として返しています。そのあと文字列にしているのでパフォーマンスはお察しでした。»Profile受託ソフト会社員でWin系業務屋。趣味でCocos2d-x/C++を触っています。etc...主に受託・開発ネタ、Windowsの事、Srellaris、ゲーム制作の進捗の事を喋ります。4.0がリリースされたみたいCocos2d-xをやめてUnityに移行した話@2019冬C#のDateTimeとC++のtime_tを相互変換するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。