欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

深入解析C++編程中__alignof 與__uuidof運算符的使用

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

__alignof 運算符
C++11 引入 alignof 運算符,該運算符返回指定類型的對齊方式(以字節(jié)為單位)。為實現(xiàn)最大的可移植性,應(yīng)使用 alignof 運算符,而不是特定于 Microsoft 的 __alignof 運算符。
返回一個 size_t 類型的值,該值是類型的對齊要求。
語法

    __alignof( 
  type 
)

備注
例如:

Expression
__alignof( char ) 1
__alignof( short ) 2
__alignof( int ) 4
__alignof( __int64 ) 8
__alignof( float ) 4
__alignof( double ) 8
__alignof( char* ) 4

__alignof 值與基本類型的 sizeof 的值相同。但是,請考慮該示例:

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

在該示例中,__alignof 值是結(jié)構(gòu)中的最大元素的對齊要求。
同樣,

復(fù)制代碼 代碼如下:

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


__alignof(S) 等于 32。
__alignof 的用途之一是作為某個內(nèi)存分配例程的參數(shù)。例如,假定下面定義的結(jié)構(gòu) S,您可以調(diào)用名為 aligned_malloc 的內(nèi)存分配例程以在特定對齊邊界上分配內(nèi)存。

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));


__uuidof 運算符

檢索 GUID 并附加到表達式。
語法

   __uuidof (
  expression 
)

備注
該 表達式 可以是類型名稱、指針、引用或該類型的數(shù)組、特定類型的模板或這些類型的變量。只要編譯器可以使用它查找附加的 GUID,自變量就是有效的。
內(nèi)部函數(shù)的一個特例就是當(dāng)在 0 或 NULL 中作為參數(shù)提供。在這種情況下,__uuidof 將返回由零組成的GUID。
使用此關(guān)鍵字用以提取附加的 GUID:
一個對象通過 uuid 擴展其特性。
庫塊以使用 模塊 屬性創(chuàng)建。
System_CAPS_note注意
在調(diào)試版本中,__uuidof 總是動態(tài)初始化一個對象 (運行時)。當(dāng)發(fā)布版本時,__uuidof 可以靜態(tài)初始化對象(在編譯時)。
下面的代碼 (使用ole32.lib編譯) 將顯示一個創(chuàng)建模塊屬性庫塊uuid:

// expre_uuidof.cpp
// compile with: ole32.lib
#include "stdio.h"
#include "windows.h"

[emitidl];
[module(name="MyLib")];
[export]
struct stuff {
  int i;
};

int main() {
  LPOLESTR lpolestr;
  StringFromCLSID(__uuidof(MyLib), &lpolestr);
  wprintf_s(L"%s", lpolestr);
  CoTaskMemFree(lpolestr);
}

注釋
當(dāng)庫名不再在范圍之內(nèi),你可以使用__LIBID_而不是 __uuidof。例如:

復(fù)制代碼 代碼如下:

StringFromCLSID(__LIBID_, &lpolestr);


上一篇:C語言自動生成enum值和名字映射代碼

欄    目:C語言

下一篇:學(xué)習(xí)C和C++的9點經(jīng)驗總結(jié)

本文標(biāo)題:深入解析C++編程中__alignof 與__uuidof運算符的使用

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2591.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有