構造体
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/11/02 18:42 UTC 版)
アライメント
構造体のメンバーのメモリレイアウトは、必ずしも連続しているとは限らない。実行環境(プロセッサアーキテクチャ)に合わせてアクセス効率が最適になるよう、コンパイラによってバイト境界に応じた無名の詰め物(パディング)が挿入されることがある。このパディングはシリアライズや相互運用などで問題になることがあるため、フィールド属性やコンパイラ特有のディレクティブによってアライメントを明示的に調整できる言語や処理系も存在する[16][17]。ただし、アライメントされていないアドレスに構造体メンバーが配置された場合、メンバーアクセスがバスエラーを引き起こすケースもある。
脚注
関連項目
注釈
- ^ データクラスのすべてのプロパティを
val
で宣言することで、イミュータブルにすることもできる。
出典
- ^ User-defined data type (VBA) | Microsoft Docs
- ^ レコード・クラス | Oracle Java SE 16 Help Center
- ^ Java 16の最新情報 | InfoQ
- ^ データクラス - Kotlin Programming Language
- ^ a b 構造体型 - C# リファレンス | Microsoft Docs
- ^ a b クラス - C# プログラミング ガイド | Microsoft Docs
- ^ a b Structure ステートメント - Visual Basic | Microsoft Docs
- ^ 構造体とクラス(Structures and Classes) · The Swift Programming Language日本語版
- ^ Structures and Classes — The Swift Programming Language (Swift 5.6)
- ^ OpenCL-Headers/cl.h at master · KhronosGroup/OpenCL-Headers
- ^ Vulkan-Headers/vulkan_core.h at master · KhronosGroup/Vulkan-Headers
- ^ Choosing Between Class and Struct - Framework Design Guidelines | Microsoft Docs
- ^ Parameterless struct constructors - C# 10.0 draft specifications | Microsoft Learn
- ^ Structures - F# | Microsoft Docs
- ^ ref class and ref struct (C++/CLI and C++/CX) | Microsoft Docs
- ^ StructLayoutAttribute Class (System.Runtime.InteropServices) | Microsoft Docs
- ^ Storage and Alignment of Structures | Microsoft Docs
構造体と同じ種類の言葉
固有名詞の分類
- 構造体のページへのリンク