NSGetSizeAndAlignment
指定したデータ型のタイプとサイズを返します
const char * NSGetSizeAndAlignment ( const char * typePtr , unsigned int * sizep , unsigned int * alignp );
解説
指定したデータ型のタイプとサイズを返します。
返り値
引数
( const char * )typePtr
データ型
( unsigned int * )sizep
( unsigned int * )alignp
フレームワーク
Foundation
クラス
NSGetSizeAndAlignment
Function
使用可能
10.0
参照
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { unsigned a; const char *aChar = NSGetSizeAndAlignment(@encode(BOOL), nil, &a); NSLog(@"----%s", *aChar); // NSLog(@"BOOL %-2s size %i __alignof__ %i ", @encode(BOOL),a, __alignof__(BOOL)); // NSGetSizeAndAlignment(@encode(bool), nil, &a); NSLog(@"bool %-2s size %i __alignof__ %i ", @encode(bool),a, __alignof__(bool)); // NSGetSizeAndAlignment(@encode(unsigned char), nil, &a); NSLog(@"unsigned char %-2s size %i __alignof__ %i ", @encode(unsigned char),a, __alignof__(unsigned char)); // NSGetSizeAndAlignment(@encode(char), nil, &a); NSLog(@"char %-2s size %i __alignof__ %i ", @encode(char),a, __alignof__(char)); // NSGetSizeAndAlignment(@encode(signed char), nil, &a); NSLog(@"signed char %-2s size %i __alignof__ %i ", @encode(signed char),a, __alignof__(signed char)); // NSGetSizeAndAlignment(@encode(unsigned short), nil, &a); NSLog(@"unsigned short %-2s size %i __alignof__ %i ", @encode(unsigned short),a, __alignof__(unsigned short)); // NSGetSizeAndAlignment(@encode(signed short), nil, &a); NSLog(@"signed short %-2s size %i __alignof__ %i ", @encode(signed short),a, __alignof__(signed short)); // NSGetSizeAndAlignment(@encode(unsigned int), nil, &a); NSLog(@"unsigned int %-2s size %i __alignof__ %i ", @encode(unsigned int),a, __alignof__(unsigned int)); // NSGetSizeAndAlignment(@encode(signed int), nil, &a); NSLog(@"signed int %-2s size %i __alignof__ %i ", @encode(signed int),a, __alignof__(signed int)); // NSGetSizeAndAlignment(@encode(unsigned long), nil, &a); NSLog(@"unsigned long %-2s size %i __alignof__ %i ", @encode(unsigned long),a, __alignof__(unsigned long)); // NSGetSizeAndAlignment(@encode(signed long), nil, &a); NSLog(@"signed long %-2s size %i __alignof__ %i ", @encode(signed long),a, __alignof__(signed long)); // NSGetSizeAndAlignment(@encode(unsigned long long), nil, &a); NSLog(@"unsigned long long %-2s size %i __alignof__ %i ", @encode(unsigned long long),a, __alignof__(unsigned long long)); // NSGetSizeAndAlignment(@encode(signed long long), nil, &a); NSLog(@"signed long long %-2s size %i __alignof__ %i ", @encode(signed long long),a, __alignof__(signed long long)); // NSGetSizeAndAlignment(@encode(float), nil, &a); NSLog(@"float %-2s size %i __alignof__ %i ", @encode(float),a, __alignof__(float)); // NSGetSizeAndAlignment(@encode(double), nil, &a); NSLog(@"double %-2s size %i __alignof__ %i ", @encode(double),a, __alignof__(double)); // NSGetSizeAndAlignment(@encode(long double), nil, &a); NSLog(@"long double %-2s size %i __alignof__ %i ", @encode(long double),a, __alignof__(long double)); // NSGetSizeAndAlignment(@encode(void*), nil, &a); NSLog(@"void* %-2s size %i __alignof__ %i ", @encode(void*),a, __alignof__(void*)); // } @end