Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

sizeofとalignofの違いは何ですか?


ここでは、C++でのsizeof演算子とalignof演算子の違いを確認します。 alognof()演算子はC++11で導入されました。

alignof()演算子は、バイト単位の配置を取得するために使用されます。タイプのインスタンスが必要です。タイプは完全タイプまたは参照タイプのいずれかです。 sizeof()演算子と呼ばれる別の演算子があり、1つの型のサイズを返します。通常のデータ型の場合、sizeofとalignofは同じ値を返します。一部のユーザー定義データ型の場合、alignofはいくつかの異なる値を返します。アイデアを得るために例を見てみましょう。

#include<iostream>
using namespace std;
struct MyStruct{
   int x;
   double y;
   char z;
};
main() {
   cout << "The sizeof(MyStruct): " << sizeof(MyStruct) << endl;
   cout << "The alignof(MyStruct): " << alignof(MyStruct) << endl;
}

出力

The sizeof(MyStruct): 24
The alignof(MyStruct): 8

  1. DirectX11とDirectX12の違いは何ですか?

    DirectXは、マルチメディアコンテンツをレンダリングし、グラフィカルハードウェアと通信するためにソフトウェアによって使用されるAPIまたはアプリケーションプログラミングインターフェイスのコレクションです。 DirectXの主要コンポーネントAPIであるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を処理します。すべてのハードウェアが異なるため、関数と呼び出しの標準化されたライブラリを使用してグラフィックカードと通信すると、ゲーム開発がスピードアップします。これはハードウェアアブストラクションと呼ばれ、APIの主な仕事です。 車について考えてみましょう。1台の車を運転

  2. |の違いは何ですかおよび|| C#の演算子?

    || 論理ORと呼ばれます 演算子と| ビットごとの論理ORと呼ばれます しかし、それらの基本的な違いは、実行方法にあります。 ||の構文および|次と同じ- bool_exp1 || bool_exp2 bool_exp1 | bool_exp2 1と2の構文は互いに似ていますが、実行方法がまったく異なります。 最初のステートメントでは、最初にbool_exp1が実行され、次にこの式の結果によって他のステートメントの実行が決定されます。 trueの場合、ORはtrueになるため、otherステートメントを実行しても意味がありません。 bool_exp2ステートメントは、bool