国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++ __alignof Operator

2019-11-08 02:41:58
字體:
來源:轉載
供稿:網友

          C++介紹alignof操作符返回指定類型的字節對齊值。為了獲得最大可移植性,你應該使用alignof操作符代替微軟特定的__alignof 操作符。

微軟專用

  返回類型的長度值(size_t),類型要求對齊。

語法

      __alignof(      type    )  

注釋

例如:   

表達式

返回值

__alignof( char )

1

__alignof( short )

2

__alignof( int )

4

__alignof( __int64 )

8

__alignof( float )

4

__alignof( double )

8

__alignof( char* )

4

返回值和基本類型的sizeof返回值相同。然而,考慮這個例子:

typedef struct { int a; double b; } S;  // __alignof(S) == 8 

在這個例子中__alignof返回值是結構中要求對齊的最大元素。

相似的,對于下面這個例子:

typedef __declspec(align(32)) struct { int a; } S; 

__alignof(S)等于32.

__alignof的一個用途是作為參數傳遞給自己的內存分配例程。例如,給出下面的定義的結構S,你可以調用命名為aligned_malloc的內存分配例程分配內存,使其具有特定的對齊邊界。

typedef __declspec(align(32)) struct { int a; double b; } S;  int n = 50; // array size  S* p = (S*)aligned_malloc(n * sizeof(S), __alignof(S)); 

其中sizeof(S)等于16,需要分配的內存大小為n*16;__alignof(S)等于32,為之前分配內存的對齊邊界大小。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 慈利县| 县级市| 隆德县| 灌阳县| 江北区| 澎湖县| 衡南县| 翼城县| 闽清县| 平度市| 自治县| 铁岭市| 克山县| 临漳县| 屏东县| 河源市| 灵璧县| 板桥市| 上思县| 思茅市| 正蓝旗| 远安县| 莫力| 克拉玛依市| 临夏市| 鄂州市| 安丘市| 巫溪县| 庆云县| 公安县| 华安县| 娄烦县| 清流县| 林甸县| 奎屯市| 同江市| 长子县| 东城区| 五常市| 景谷| 务川|