6.2 アドレス (値) のアラインメントを返す。 公開日:2021年8月18日 C++関数・テンプレート集プログラミング技術情報 次の関数テンプレートは、ポインタの境界調整を求めるためのものです。厳密にいえば、ポインタを汎整数型に型変換した場合、それを元の型に再変換して値が変わらないこと以外、すべて処理系定義になるわけですが、実際にはポインタの値= […] 続きを読む
6. メモリ上のデータ操作テンプレート 更新日:2021年8月18日 公開日:2021年8月17日 C++関数・テンプレート集プログラミング技術情報 元ネタ 6.1 データを逆順にする。 6.2 アドレス (値) のアラインメントを返す。 ↑ C++関数・テンプレート集 続きを読む
5.3 アラインメント調整のため、オフセットを切り上げる。 公開日:2021年8月16日 C++関数・テンプレート集プログラミング技術情報 実用上は元ネタのマクロで十分なのですが、この企画はあくまでも「C++関数・テンプレート集」ですので、ちょっと強引ながらもメタ関数と関数を作ってみることにします。 まずはメタ関数からです。 [crayon-66dd07a3 […] 続きを読む
5.2 型のアラインメントを返す。 公開日:2021年8月16日 C++関数・テンプレート集プログラミング技術情報 境界調整(アラインメント)の要求サイズが必要になることがときどきあります。組込み開発ではとくに必要になることが多いのではないでしょうか? C++11以降であれば、そのものずばりの機能であるalignof演算子が使えます。 […] 続きを読む
5. 一般のデータ型に関するテンプレート 更新日:2021年8月16日 公開日:2021年8月13日 C++関数・テンプレート集プログラミング技術情報 元ネタ 5.1 型のビット数を返す。 5.2 型のアラインメントを返す。 5.3 アラインメント調整のため、オフセットを切り上げる。 ↑ C++関数・テンプレート集 続きを読む