1.main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf(¡°%d,%d¡±,*(a+1),*(ptr-1));
}
´ð£º2,5
*(a+1£©¾ÍÊÇa[1]£¬*(ptr-1)¾ÍÊÇa[4],Ö´Ðнá¹ûÊÇ2£¬5
&a+1²»ÊÇÊ×µØÖ·+1£¬ÏµÍ³»áÈÏΪ¼ÓÒ»¸öaÊý×éµÄÆ«ÒÆ£¬ÊÇÆ«ÒÆÁËÒ»¸öÊý×éµÄ´óС£¨±¾ÀýÊÇ5¸öint£©
int *ptr=(int *)(&a+1);
Ôòptrʵ¼ÊÊÇ&(a[5]),Ò²¾ÍÊÇa+5
ÔÒòÈçÏ£º
&aÊÇÊý×éÖ¸Õ룬ÆäÀàÐÍΪ int (*)[5];
¶øÖ¸Õë¼Ó1Òª¸ù¾ÝÖ¸ÕëÀàÐͼÓÉÏÒ»¶¨µÄÖµ£¬²»Í¬ÀàÐ͵ÄÖ¸Õë+1Ö®ºóÔö¼ÓµÄ´óС²»Í¬¡£
aÊdz¤¶ÈΪ5µÄintÊý×éÖ¸Õ룬ËùÒÔÒª¼Ó 5*sizeof(int)
ËùÒÔptrʵ¼ÊÊÇa[5]
µ«ÊÇprtÓë(&a+1)ÀàÐÍÊDz»Ò»ÑùµÄ(ÕâµãºÜÖØÒª)
ËùÒÔprt-1Ö»»á¼õÈ¥sizeof(int*)
a,&aµÄµØÖ·ÊÇÒ»ÑùµÄ£¬µ«Òâ˼²»Ò»Ñù
aÊÇÊý×éÊ×µØÖ·£¬Ò²¾ÍÊÇa[0]µÄµØÖ·£¬&aÊǶÔÏó£¨Êý×飩Ê×µØÖ·£¬
a+1ÊÇÊý×éÏÂÒ»ÔªËØµÄµØÖ·£¬¼´a[1],&a+1ÊÇÏÂÒ»¸ö¶ÔÏóµÄµØÖ·£¬¼´a[5].
2.ÒÔÏÂΪWindows NTϵÄ32λC++³ÌÐò£¬Çë¼ÆËãsizeofµÄÖµ
void Func ( char str[100] )
{
sizeof( str ) =
}
void *p = malloc( 100 );
sizeof ( p ) =
Õâ ÌâºÜ³£¼ûÁË,Func ( char str[100] )º¯ÊýÖÐÊý×éÃû×÷Ϊº¯ÊýÐβÎʱ£¬ÔÚº¯ÊýÌåÄÚ£¬Êý×éÃûʧȥÁ˱¾ÉíµÄÄÚº£¬½ö½öÖ»ÊÇÒ»¸öÖ¸Õ룻ÔÚʧȥÆäÄÚºµÄͬʱ£¬Ëü»¹Ê§È¥ÁËÆä³£Á¿ÌØÐÔ£¬¿ÉÒÔ×÷×ÔÔö¡¢×Ô¼õµÈ ²Ù×÷£¬¿ÉÒÔ±»Ð޸ġ£Windows NT 32λƽ̨Ï£¬Ö¸ÕëµÄ³¤¶È£¨Õ¼ÓÃÄÚ´æµÄ´óС£©Îª4×Ö½Ú£¬¹Êsizeof( str ) ¡¢sizeof ( p ) ¶¼Îª4¡£
3.»¹ÊÇ¿¼Ö¸Õë,²»¹ýÎÒ¶ÔcocoaµÄ´úÂ뻹ÊDz»Ì«ÊìϤ
´ó¸ÅÊÇÕâÑùµÄ
- £¨void£©*getNSString(c*****t NSString * inputString)
{
inputString = @¡±This is a main test\n¡±;
return ;
}
-main(void)
{
NSString *a=@¡±Main¡±;
NSString *aString = [NSString stringWithString:@"%@",getNSString(a)];
NSLog(@¡±%@\n¡±, aString);
}
×îºóÎÊÊä³öµÄ×Ö·û´®:NULL,outputÔÚº¯Êý·µ»Øºó£¬ÄÚ´æÒѾ±»ÊÍ·Å¡£
4.ÓÃÔ¤´¦ÀíÖ¸Áî#defineÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
; #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
; ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³£Êý±í´ïʽµÄÖµ£¬Òò´Ë£¬Ö±½Óд³öÄãÊÇÈçºÎ¼ÆËãÒ»ÄêÖÐÓжàÉÙÃë¶ø²»ÊǼÆËã³öʵ¼ÊµÄÖµ£¬ÊǸüÇåÎú¶øÃ»Óдú¼ÛµÄ¡£
; Òâʶµ½Õâ¸ö±í´ïʽ½«Ê¹Ò»¸ö16λ»úµÄÕûÐÍÊýÒç³ö-Òò´ËÒªÓõ½³¤ÕûÐÍ·ûºÅL,¸æËß±àÒëÆ÷Õâ¸ö³£ÊýÊǵij¤ÕûÐÍÊý¡£
; Èç¹ûÄãÔÚÄãµÄ±í´ïʽÖÐÓõ½UL£¨±íʾÎÞ·ûºÅ³¤ÕûÐÍ£©£¬ÄÇôÄãÓÐÁËÒ»¸öºÃµÄÆðµã¡£¼Çס£¬µÚÒ»Ó¡ÏóºÜÖØÒª¡£
дһ¸ö¡°±ê×¼¡°ºêMIN
£¬Õâ¸öºêÊäÈëÁ½¸ö²ÎÊý²¢·µ»Ø½ÏСµÄÒ»¸ö¡£
#define MIN(A,B)
£¨£¨A£© <= (B) (A) : (B))
Õâ¸ö²âÊÔÊÇΪÏÂÃæµÄÄ¿µÄ¶øÉèµÄ£º
;
±êʶ#defineÔÚºêÖÐÓ¦ÓõĻù±¾ÖªÊ¶¡£ÕâÊǺÜÖØÒªµÄ£¬ÒòΪֱµ½Ç¶Èë(inline)²Ù×÷·û±äΪ±ê×¼CµÄÒ»²¿·Ö£¬ºêÊÇ·½±ã²úÉúǶÈë´úÂëµÄΨһ·½
·¨£¬¶ÔÓÚǶÈëʽϵͳÀ´Ëµ£¬ÎªÁËÄÜ´ïµ½ÒªÇóµÄÐÔÄÜ£¬Ç¶Èë´úÂë¾³£ÊDZØÐëµÄ·½·¨¡£
; ÈýÖØÌõ¼þ²Ù×÷·ûµÄ֪ʶ¡£Õâ¸ö²Ù×÷·û´æÔÚCÓïÑÔÖеÄÔÒòÊÇËüʹµÃ±àÒëÆ÷ÄܲúÉú±È if-then-else
¸üÓÅ»¯µÄ´úÂ룬Á˽âÕâ¸öÓ÷¨ÊǺÜÖØÒªµÄ¡£
; ¶®µÃÔÚºêÖÐСÐĵذѲÎÊýÓÃÀ¨ºÅÀ¨ÆðÀ´
;
ÎÒÒ²ÓÃÕâ¸öÎÊÌ⿪ʼÌÖÂÛºêµÄ¸±×÷Óã¬ÀýÈ磺µ±ÄãдÏÂÃæµÄ´úÂëʱ»á·¢ÉúʲôÊ£¿
least = MIN(*p++, b);
½á¹ûÊÇ£º
((*p++) <= (b) (*p++) : (*p++))
Õâ¸ö±í´ïʽ»á²úÉú¸±×÷Óã¬Ö¸Õëp»á×÷Èý´Î++×ÔÔö²Ù×÷¡£
5.дһ¸öίÍеÄinterface
@protocol MyDelegate;
@interface MyClass: NSObject
{
id delegate;
}
// ίÍз½·¨
@protocol MyDelegate
- (void)didJobs:(NSArray *)args;
@end
6.дһ¸öNSStringÀàµÄʵÏÖ
+ (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding;
+ (id) stringWithCString: (c*****t char*)nullTerminatedCString
encoding: (NSStringEncoding)encoding
{
NSString *obj;
obj = [self allocWithZone: NSDefaultMallocZone()];
obj = [obj initWithCString: nullTerminatedCString encoding: encoding];
return AUTORELEASE(obj);
}
7.obj-cÓжàÖØ¼Ì³Ðô ²»ÊǵϰÓÐÊ²Ã´Ìæ´ú·½·¨
cocoa ÖÐËùÓеÄÀà¶¼ÊÇNSObject µÄ×ÓÀà
¶à¼Ì³ÐÔÚÕâÀïÊÇÓÃprotocol ίÍдúÀí À´ÊµÏÖµÄ
Äã²»ÓÃÈ¥¿¼ÂÇ·±ËöµÄ¶à¼Ì³Ð ,Ðé»ùÀàµÄ¸ÅÄî.
oodµÄ¶àÌ¬ÌØÐÔ ÔÚ obj-c ÖÐͨ¹ýίÍÐÀ´ÊµÏÖ.
ҪעÒâµÄÊÇObjective-cÖ»Ö§³Öµ¥¼Ì³Ð£¬Èç¹ûҪʵÏÖ¶à¼Ì³ÐµÄ»°£¬¿ÉÒÔͨ¹ýÀà±ðºÍÐÒéµÄ·½Ê½À´ÊµÏÖ¡£
8.obj-cÓÐ˽Óз½·¨Ã´ ˽ÓбäÁ¿ÄØ
objective-c ¨C ÀàÀïÃæµÄ·½·¨Ö»ÓÐÁ½ÖÖ, ¾²Ì¬·½·¨ºÍʵÀý·½·¨. ÕâËÆºõ¾Í²»ÊÇÍêÕûµÄÃæÏò¶ÔÏóÁË,°´ÕÕOOµÄÔÔò¾ÍÊÇÒ»¸ö¶ÔÏóÖ»±©Â¶ÓÐÓõĶ«Î÷. Èç¹ûûÓÐÁË˽Óз½·¨µÄ»°, ¶ÔÓÚһЩС·¶Î§µÄ´úÂëÖØÓþͲ»ÄÇô˳ÊÖÁË. ÔÚÀàÀïÃæÉùÃûÒ»¸ö˽Óз½·¨
@interface Controller : NSObject { NSString *something; }
+ (void)thisIsAStaticMethod;
- (void)thisIsAnInstanceMethod;
@end
@interface Controller (private) -
(void)thisIsAPrivateMethod;
@end
@private¿ÉÒÔÓÃÀ´ÐÞÊÎ˽ÓбäÁ¿
ÔÚObjective©\CÖУ¬ËùÓÐʵÀý±äÁ¿Ä¬È϶¼ÊÇ˽Óеģ¬ËùÓÐʵÀý·½·¨Ä¬È϶¼Êǹ«ÓеÄ
9.¹Ø¼ü×Öc*****tÓÐʲôº¬Ò⣿ÐÞÊÎÀàÄØ staticµÄ×÷ÓÃ,ÓÃÓÚÀàÄØ »¹ÓÐextern cµÄ×÷ÓÃ
c*****tÒâζ×Å¡±Ö»¶Á¡±£¬ÏÂÃæµÄÉùÃ÷¶¼ÊÇʲôÒâ˼£¿
c*****t int a;
int c*****t a;
c*****t int *a;
int * c*****t a;
int c*****t * a c*****t;
ǰ Á½¸öµÄ×÷ÓÃÊÇÒ»Ñù£¬aÊÇÒ»¸ö³£ÕûÐÍÊý¡£µÚÈý¸öÒâζ×ÅaÊÇÒ»¸öÖ¸Ïò³£ÕûÐÍÊýµÄÖ¸Õ루Ҳ¾ÍÊÇ£¬ÕûÐÍÊýÊDz»¿ÉÐ޸ĵ쬵«Ö¸Õë¿ÉÒÔ£©¡£µÚËĸöÒâ˼aÊÇÒ»¸öÖ¸ÏòÕûÐÍ ÊýµÄ³£Ö¸Õ루Ҳ¾ÍÊÇ˵£¬Ö¸ÕëÖ¸ÏòµÄÕûÐÍÊýÊÇ¿ÉÒÔÐ޸ĵ쬵«Ö¸ÕëÊDz»¿ÉÐ޸ĵģ©¡£×îºóÒ»¸öÒâζ×ÅaÊÇÒ»¸öÖ¸Ïò³£ÕûÐÍÊýµÄ³£Ö¸Õ루Ҳ¾ÍÊÇ˵£¬Ö¸ÕëÖ¸ÏòµÄÕûÐÍÊý ÊDz»¿ÉÐ޸ĵģ¬Í¬Ê±Ö¸ÕëÒ²ÊDz»¿ÉÐ޸ĵģ©¡£
½áÂÛ£º
; ¹Ø¼ü×Öc*****tµÄ×÷ÓÃÊÇΪ¸ø¶ÁÄã´úÂëµÄÈË´«´ï·Ç³£ÓÐÓõÄÐÅÏ¢£¬Êµ¼ÊÉÏ£¬ÉùÃ÷Ò»¸ö²ÎÊýΪ³£Á¿ÊÇΪÁ˸æËßÁËÓû§Õâ¸ö²ÎÊýµÄÓ¦ÓÃÄ¿µÄ¡£Èç¹û
ÄãÔø»¨ºÜ¶àʱ¼äÇåÀíÆäËüÈËÁôϵÄÀ¬»ø£¬Äã¾Í»áºÜ¿ìѧ»á¸ÐлÕâµã¶àÓàµÄÐÅÏ¢¡££¨µ±È»£¬¶®µÃÓÃc*****tµÄ³ÌÐòÔ±ºÜÉÙ»áÁôϵÄÀ¬»øÈñðÈËÀ´Çå
ÀíµÄ¡££©
; ͨ¹ý¸øÓÅ»¯Æ÷һЩ¸½¼ÓµÄÐÅÏ¢£¬Ê¹Óùؼü×Öc*****tÒ²ÐíÄܲúÉú¸ü½ô´ÕµÄ´úÂë¡£
; ºÏÀíµØÊ¹Óùؼü×Öc*****t¿ÉÒÔʹ±àÒëÆ÷ºÜ×ÔÈ»µØ±£»¤ÄÇЩ²»Ï£Íû±»¸Ä±äµÄ²ÎÊý£¬·ÀÖ¹Æä±»ÎÞÒâµÄ´úÂëÐ޸ġ£¼ò¶øÑÔÖ®£¬ÕâÑù¿ÉÒÔ¼õÉÙbugµÄ³öÏÖ¡£
£¨1£©Óû×èÖ¹Ò»¸ö±äÁ¿±»¸Ä±ä£¬¿ÉÒÔʹÓà c*****t ¹Ø¼ü×Ö¡£ÔÚ¶¨Òå¸Ã c*****t ±äÁ¿Ê±£¬Í¨³£ÐèÒª¶ÔËü½øÐгõ
ʼ»¯£¬ÒòΪÒÔºó¾ÍûÓлú»áÔÙÈ¥¸Ä±äËüÁË£»
£¨2£©¶ÔÖ¸ÕëÀ´Ëµ£¬¿ÉÒÔÖ¸¶¨Ö¸Õë±¾ÉíΪ c*****t£¬Ò²¿ÉÒÔÖ¸¶¨Ö¸ÕëËùÖ¸µÄÊý¾ÝΪ c*****t£¬»ò¶þÕßͬʱָ
¶¨Îª c*****t£»
£¨3£©ÔÚÒ»¸öº¯ÊýÉùÃ÷ÖУ¬c*****t ¿ÉÒÔÐÞÊÎÐβΣ¬±íÃ÷ËüÊÇÒ»¸öÊäÈë²ÎÊý£¬ÔÚº¯ÊýÄÚ²¿²»ÄܸıäÆäÖµ£»
£¨4£©¶ÔÓÚÀàµÄ³ÉÔ±º¯Êý£¬ÈôÖ¸¶¨ÆäΪ c*****t ÀàÐÍ£¬Ôò±íÃ÷ÆäÊÇÒ»¸ö³£º¯Êý£¬²»ÄÜÐÞ¸ÄÀàµÄ³ÉÔ±±äÁ¿£»
£¨5£©¶ÔÓÚÀàµÄ³ÉÔ±º¯Êý£¬ÓÐʱºò±ØÐëÖ¸¶¨Æä·µ»ØÖµÎª c*****t ÀàÐÍ£¬ÒÔʹµÃÆä·µ»ØÖµ²»Îª¡°×óÖµ¡±¡£
¹Ø¼ü×ÖvolatileÓÐʲôº¬Òâ ²¢¸ø³öÈý¸ö²»Í¬µÄÀý×Ó¡£
Ò»¸ö¶¨ÒåΪvolatileµÄ±äÁ¿ÊÇ˵Õâ±äÁ¿¿ÉÄܻᱻÒâÏë²»µ½µØ¸Ä±ä£¬ÕâÑù£¬±àÒëÆ÷¾Í²»»áÈ¥¼ÙÉèÕâ¸ö±äÁ¿µÄÖµÁË¡£¾«È·µØËµ¾ÍÊÇ£¬ÓÅ»¯Æ÷ÔÚÓõ½
Õâ¸ö±äÁ¿Ê±±ØÐëÿ´Î¶¼Ð¡ÐĵØÖØÐ¶ÁÈ¡Õâ¸ö±äÁ¿µÄÖµ£¬¶ø²»ÊÇʹÓñ£´æÔڼĴæÆ÷ÀïµÄ±¸·Ý¡£ÏÂÃæÊÇvolatile±äÁ¿µÄ¼¸¸öÀý×Ó£º
; ²¢ÐÐÉ豸µÄÓ²¼þ¼Ä´æÆ÷£¨È磺״̬¼Ä´æÆ÷£©
; Ò»¸öÖжϷþÎñ×Ó³ÌÐòÖлá·ÃÎʵ½µÄ·Ç×Ô¶¯±äÁ¿(Non-automatic variables)
; ¶àÏß³ÌÓ¦ÓÃÖб»¼¸¸öÈÎÎñ¹²ÏíµÄ±äÁ¿
; Ò»¸ö²ÎÊý¼È¿ÉÒÔÊÇc*****t»¹¿ÉÒÔÊÇvolatileÂ𣿽âÊÍΪʲô¡£
; Ò»¸öÖ¸Õë¿ÉÒÔÊÇvolatile Â𣿽âÊÍΪʲô¡£
ÏÂÃæÊǴ𰸣º
; Êǵġ£Ò»¸öÀý×ÓÊÇÖ»¶ÁµÄ״̬¼Ä´æÆ÷¡£ËüÊÇvolatileÒòΪËü¿ÉÄܱ»ÒâÏë²»µ½µØ¸Ä±ä¡£ËüÊÇc*****tÒòΪ³ÌÐò²»Ó¦¸ÃÊÔͼȥÐÞ¸ÄËü¡£
; Êǵġ£¾¡¹ÜÕâ²¢²»ºÜ³£¼û¡£Ò»¸öÀý×ÓÊǵ±Ò»¸öÖзþÎñ×Ó³ÌÐòÐÞ¸ÃÒ»¸öÖ¸ÏòÒ»¸öbufferµÄÖ¸Õëʱ¡£
static ¹Ø¼ü×ÖµÄ×÷Óãº
£¨1£©º¯ÊýÌåÄÚ static ±äÁ¿µÄ×÷Ó÷¶Î§Îª¸Ãº¯ÊýÌ壬²»Í¬ÓÚ auto ±äÁ¿£¬¸Ã±äÁ¿µÄÄÚ´æÖ»±»·ÖÅäÒ»´Î£¬
Òò´ËÆäÖµÔÚÏ´ε÷ÓÃʱÈÔά³ÖÉϴεÄÖµ£»
£¨2£©ÔÚÄ£¿éÄÚµÄ static È«¾Ö±äÁ¿¿ÉÒÔ±»Ä£¿éÄÚËùÓú¯Êý·ÃÎÊ£¬µ«²»Äܱ»Ä£¿éÍâÆäËüº¯Êý·ÃÎÊ£»
£¨3£©ÔÚÄ£¿éÄÚµÄ static º¯ÊýÖ»¿É±»Õâһģ¿éÄ򵀮äËüº¯Êýµ÷Óã¬Õâ¸öº¯ÊýµÄʹÓ÷¶Î§±»ÏÞÖÆÔÚÉùÃ÷
ËüµÄÄ£¿éÄÚ£»
£¨4£©ÔÚÀàÖÐµÄ static ³ÉÔ±±äÁ¿ÊôÓÚÕû¸öÀàËùÓµÓУ¬¶ÔÀàµÄËùÓжÔÏóÖ»ÓÐÒ»·Ý¿½±´£»
£¨5£©ÔÚÀàÖÐµÄ static ³ÉÔ±º¯ÊýÊôÓÚÕû¸öÀàËùÓµÓУ¬Õâ¸öº¯Êý²»½ÓÊÕ this Ö¸Õ룬Òò¶øÖ»ÄÜ·ÃÎÊÀàµÄstatic ³ÉÔ±±äÁ¿¡£
extern ¡°C¡± µÄ×÷ÓÃ
£¨1£©±» extern ¡°C¡±ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇ extern ÀàÐ͵ģ»
extern ÊÇ C/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬
ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
£¨2£©±» extern ¡°C¡±ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕ C ÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ£»
extern ¡°C¡±µÄ¹ßÓ÷¨
£¨1£©ÔÚ C++ÖÐÒýÓà C ÓïÑÔÖеĺ¯ÊýºÍ±äÁ¿£¬ÔÚ°üº¬ C ÓïÑÔÍ·Îļþ£¨¼ÙÉèΪ cExample.h£©Ê±£¬Ðè½ø
ÐÐÏÂÁд¦Àí£º
extern ¡°C¡±
{
#include ¡°cExample.h¡±
}
¶øÔÚ C ÓïÑÔµÄÍ·ÎļþÖУ¬¶ÔÆäÍⲿº¯ÊýÖ»ÄÜÖ¸¶¨Îª extern ÀàÐÍ£¬C ÓïÑÔÖв»Ö§³Ö extern ¡°C¡±ÉùÃ÷£¬
ÔÚ.c ÎļþÖаüº¬ÁË extern ¡°C¡±Ê±»á³öÏÖ±àÒëÓï·¨´íÎó¡£
£¨2£©ÔÚ C ÖÐÒýÓà C++ÓïÑÔÖеĺ¯ÊýºÍ±äÁ¿Ê±£¬C++µÄÍ·ÎļþÐèÌí¼Ó extern ¡°C¡±£¬µ«ÊÇÔÚ C ÓïÑÔÖв»
ÄÜÖ±½ÓÒýÓÃÉùÃ÷ÁË extern ¡°C¡±µÄ¸ÃÍ·Îļþ£¬Ó¦¸Ã½ö½« C ÎļþÖн« C++Öж¨ÒåµÄ extern ¡°C¡±º¯ÊýÉùÃ÷Ϊ
extern ÀàÐÍ¡£
10.Ϊʲô±ê׼ͷÎļþ¶¼ÓÐÀàËÆÒÔϵĽṹ£¿
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern ¡°C¡± {
#endif
/*¡*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
ÏÔÈ»£¬Í·ÎļþÖеıàÒëºê¡°#ifndef __INCvxWorksh¡¢#define __INCvxWorksh¡¢#endif¡± µÄ×÷ÓÃ
ÊÇ·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£
11.#import¸ú#includeµÄÇø±ð,@classÄØ
@classÒ»°ãÓÃÓÚÍ·ÎļþÖÐÐèÒªÉùÃ÷¸ÃÀàµÄij¸öʵÀý±äÁ¿µÄʱºòÓõ½£¬ÔÚmÎļþÖл¹ÊÇÐèҪʹÓÃ#import
¶ø#import±ÈÆð#includeµÄºÃ´¦¾ÍÊDz»»áÒýÆð½»²æ±àÒë
12.MVCģʽµÄÀí½â
MVC Éè ¼ÆÄ£Ê½¿¼ÂÇÈýÖÖ¶ÔÏó£ºÄ£ÐͶÔÏó¡¢ÊÓͼ¶ÔÏ󡢺ͿØÖÆÆ÷¶ÔÏó¡£Ä£ÐͶÔÏó´ú±íÌØ±ðµÄ֪ʶºÍרҵ¼¼ÄÜ£¬ËüÃǸºÔð±£ÓÐÓ¦ÓóÌÐòµÄÊý¾ÝºÍ¶¨Òå²Ù×÷Êý¾ÝµÄÂß¼¡£ÊÓͼ¶ÔÏó ÖªµÀÈçºÎÏÔʾӦÓóÌÐòµÄÄ£ÐÍÊý¾Ý£¬¶øÇÒ¿ÉÄÜÔÊÐíÓû§¶ÔÆä½øÐб༡£¿ØÖÆÆ÷¶ÔÏóÊÇÓ¦ÓóÌÐòµÄÊÓͼ¶ÔÏóºÍÄ£ÐͶÔÏóÖ®¼äµÄе÷Õß¡£
13.Ïß³ÌÓë½ø³ÌµÄÇø±ðºÍÁªÏµ
½ø³ÌºÍÏ̶߳¼ÊÇÓɲÙ×÷ϵͳËùÌå»áµÄ³ÌÐòÔËÐеĻù±¾µ¥Ôª£¬ÏµÍ³ÀûÓøûù±¾µ¥ÔªÊµÏÖϵͳ¶ÔÓ¦ÓõIJ¢·¢ÐÔ¡£
³Ì ºÍÏ̵߳ÄÖ÷Òª²î±ðÔÚÓÚËüÃÇÊDz»Í¬µÄ²Ù×÷ϵͳ×ÊÔ´¹ÜÀí·½Ê½¡£½ø³ÌÓжÀÁ¢µÄµØÖ·¿Õ¼ä£¬Ò»¸ö½ø³Ì±ÀÀ£ºó£¬ÔÚ±£»¤Ä£Ê½Ï²»»á¶ÔÆäËü½ø³Ì²úÉúÓ°Ï죬¶øÏß³ÌÖ»ÊÇÒ»¸ö½ø ³ÌÖеIJ»Í¬Ö´Ðз¾¶¡£Ïß³ÌÓÐ×Ô¼ºµÄ¶ÑÕ»ºÍ¾Ö²¿±äÁ¿£¬µ«Ïß³ÌÖ®¼äûÓе¥¶ÀµÄµØÖ·¿Õ¼ä£¬Ò»¸öÏß³ÌËÀµô¾ÍµÈÓÚÕû¸ö½ø³ÌËÀµô£¬ËùÒÔ¶à½ø³ÌµÄ³ÌÐòÒª±È¶àÏ̵߳ijÌÐò½¡ ׳£¬µ«ÔÚ½ø³ÌÇл»Ê±£¬ºÄ·Ñ×ÊÔ´½Ï´ó£¬Ð§ÂÊÒª²îһЩ¡£µ«¶ÔÓÚһЩҪÇóͬʱ½øÐв¢ÇÒÓÖÒª¹²ÏíijЩ±äÁ¿µÄ²¢·¢²Ù×÷£¬Ö»ÄÜÓÃỊ̈߳¬²»ÄÜÓýø³Ì¡£
14.Áоټ¸ÖÖ½ø³ÌµÄͬ²½»úÖÆ£¬²¢±È½ÏÆäÓÅȱµã¡£
´ð°¸£º Ô×Ó²Ù×÷ ÐźÅÁ¿»úÖÆ ×ÔÐýËø ¹Ü³Ì£¬»áºÏ£¬·Ö²¼Ê½ÏµÍ³
½ø³ÌÖ®¼äͨÐŵÄ;¾¶
´ð°¸£º¹²Ïí´æ´¢ÏµÍ³ÏûÏ¢´«µÝϵͳ¹ÜµÀ£ºÒÔÎļþϵͳΪ»ù´¡
½ø³ÌËÀËøµÄÔÒò
´ð°¸£º×ÊÔ´¾ºÕù¼°½ø³ÌÍÆ½øË³Ðò·Ç·¨
ËÀËøµÄ4¸ö±ØÒªÌõ¼þ
´ð°¸£º»¥³â¡¢ÇëÇó±£³Ö¡¢²»¿É°þ¶á¡¢»·Â·
ËÀËøµÄ´¦Àí
´ð°¸£ºÍÒÄñ²ßÂÔ¡¢Ô¤·À²ßÂÔ¡¢±ÜÃâ²ßÂÔ¡¢¼ì²âÓë½â³ýËÀËø
15.¶ÑºÍÕ»µÄÇø±ð
¹ÜÀí·½Ê½£º¶ÔÓÚÕ»À´½²£¬ÊÇÓɱàÒëÆ÷×Ô¶¯¹ÜÀí£¬ÎÞÐèÎÒÃÇÊÖ¹¤¿ØÖÆ£»¶ÔÓÚ¶ÑÀ´Ëµ£¬Êͷʤ×÷ÓɳÌÐòÔ±¿ØÖÆ£¬ÈÝÒײúÉúmemory leak¡£
ÉêÇë´óС£º
Õ»£º ÔÚWindowsÏÂ,Õ»ÊÇÏòµÍµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊÇÒ»¿éÁ¬ÐøµÄÄÚ´æµÄÇøÓò¡£Õâ¾ä»°µÄÒâ˼ÊÇÕ»¶¥µÄµØÖ·ºÍÕ»µÄ×î´óÈÝÁ¿ÊÇϵͳԤÏȹ涨ºÃµÄ£¬ÔÚ WINDOWSÏ£¬Õ»µÄ´óСÊÇ2M£¨Ò²ÓеÄ˵ÊÇ1M£¬×ÜÖ®ÊÇÒ»¸ö±àÒëʱ¾ÍÈ·¶¨µÄ³£Êý£©£¬Èç¹ûÉêÇëµÄ¿Õ¼ä³¬¹ýÕ»µÄÊ£Óà¿Õ¼äʱ£¬½«Ìáʾoverflow¡£Òò ´Ë£¬ÄÜ´ÓÕ»»ñµÃµÄ¿Õ¼ä½ÏС¡£
¶Ñ£º¶ÑÊÇÏò¸ßµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊDz»Á¬ÐøµÄÄÚ´æÇøÓò¡£ÕâÊÇÓÉÓÚϵͳÊÇÓÃÁ´±íÀ´´æ´¢µÄ¿ÕÏÐÄÚ´æµØÖ·µÄ£¬×ÔÈ»ÊDz»Á¬ÐøµÄ£¬¶øÁ´±íµÄ±éÀú·½ÏòÊÇÓɵ͵ØÖ·Ïò¸ßµØÖ·¡£¶ÑµÄ´óСÊÜÏÞÓÚ¼ÆËã»úϵͳÖÐÓÐЧµÄÐéÄâÄÚ´æ¡£Óɴ˿ɼû£¬¶Ñ»ñµÃµÄ¿Õ¼ä±È½ÏÁé»î£¬Ò²±È½Ï´ó¡£
Ë鯬ÎÊÌ⣺¶ÔÓÚ¶ÑÀ´½²£¬Æµ·±µÄnew/deleteÊÆ±Ø»áÔì³ÉÄÚ´æ¿Õ¼äµÄ²»Á¬Ðø£¬´Ó¶øÔì³É´óÁ¿µÄË鯬£¬Ê¹³ÌÐòЧÂʽµµÍ¡£¶ÔÓÚÕ»À´½²£¬Ôò²»»á´æÔÚÕâ¸öÎÊÌ⣬ÒòΪջÊÇÏȽøºó³öµÄ¶ÓÁУ¬ËûÃÇÊÇÈç´ËµÄÒ»Ò»¶ÔÓ¦£¬ÒÔÖÁÓÚÓÀÔ¶¶¼²»¿ÉÄÜÓÐÒ»¸öÄÚ´æ¿é´ÓÕ»Öм䵯³ö
·ÖÅ䷽ʽ£º¶Ñ¶¼ÊǶ¯Ì¬·ÖÅäµÄ£¬Ã»Óо²Ì¬·ÖÅäµÄ¶Ñ¡£Õ»ÓÐ2ÖÖ·ÖÅ䷽ʽ£º¾²Ì¬·ÖÅäºÍ¶¯Ì¬·ÖÅä¡£¾²Ì¬·ÖÅäÊDZàÒëÆ÷Íê³ÉµÄ£¬±ÈÈç¾Ö²¿±äÁ¿µÄ·ÖÅä¡£¶¯Ì¬·ÖÅäÓÉallocaº¯Êý½øÐзÖÅ䣬µ«ÊÇÕ»µÄ¶¯Ì¬·ÖÅäºÍ¶ÑÊDz»Í¬µÄ£¬ËûµÄ¶¯Ì¬·ÖÅäÊÇÓɱàÒëÆ÷½øÐÐÊÍ·Å£¬ÎÞÐèÎÒÃÇÊÖ¹¤ÊµÏÖ¡£
·ÖÅäЧÂÊ£ºÕ»ÊÇ»úÆ÷ϵͳÌṩµÄÊý¾Ý½á¹¹£¬¼ÆËã»ú»áÔڵײã¶ÔÕ»Ìṩ֧³Ö£º·ÖÅäרÃŵļĴæÆ÷´æ·ÅÕ»µÄµØÖ·£¬Ñ¹Õ»³öÕ»¶¼ÓÐרÃŵÄÖ¸ÁîÖ´ÐУ¬Õâ¾Í¾ö¶¨ÁËÕ»µÄЧÂʱȽϸߡ£¶ÑÔòÊÇC/C++º¯Êý¿âÌṩµÄ£¬ËüµÄ»úÖÆÊǺܸ´Ôӵġ£
16.ʲôÊǼü-Öµ,¼ü·¾¶ÊÇʲô
Ä£Ð͵ÄÐÔÖÊÊÇͨ¹ýÒ»¸ö¼òµ¥µÄ¼ü£¨Í¨³£ÊǸö×Ö·û´®£©À´Ö¸¶¨µÄ¡£ÊÓͼºÍ¿ØÖÆÆ÷ͨ¹ý¼üÀ´²éÕÒÏàÓ¦µÄÊôÐÔÖµ¡£ÔÚÒ»¸ö¸ø¶¨µÄʵÌåÖУ¬Í¬Ò»¸öÊôÐÔµÄËùÓÐÖµ¾ßÓÐÏàͬµÄÊý¾ÝÀàÐÍ¡£¼ü-Öµ±àÂë¼¼ÊõÓÃÓÚ½øÐÐÕâÑùµÄ²éÕÒ¡ªËüÊÇÒ»ÖÖ¼ä½Ó·ÃÎʶÔÏóÊôÐԵĻúÖÆ¡£
¼ü·¾¶ÊÇÒ»¸öÓÉÓõã×÷·Ö¸ô·ûµÄ¼ü×é³ÉµÄ×Ö·û´®£¬ÓÃÓÚÖ¸¶¨Ò»¸öÁ¬½ÓÔÚÒ»ÆðµÄ¶ÔÏóÐÔÖÊÐòÁС£µÚÒ»¸ö¼üµÄ
ÐÔÖÊÊÇÓÉÏÈǰµÄÐÔÖʾö¶¨µÄ£¬½ÓÏÂÀ´Ã¿¸ö¼üµÄÖµÒ²ÊÇÏà¶ÔÓÚÆäÇ°ÃæµÄÐÔÖÊ¡£¼ü·¾¶Ê¹Äú¿ÉÒÔÒÔ¶ÀÁ¢ÓÚÄ£ÐÍ
ʵÏֵķ½Ê½Ö¸¶¨Ïà¹Ø¶ÔÏóµÄÐÔÖÊ¡£Í¨¹ý¼ü·¾¶£¬Äú¿ÉÒÔÖ¸¶¨¶ÔÏóͼÖеÄÒ»¸öÈÎÒâÉî¶ÈµÄ·¾¶£¬Ê¹ÆäÖ¸ÏòÏà
¹Ø¶ÔÏóµÄÌØ¶¨ÊôÐÔ¡£
For example, the key path address.streetwould get the value of the address property from the receiving
object, and then determine the street property relative to the address object.
17.cºÍobj-cÈçºÎ»ìÓÃ
1£©obj-cµÄ±àÒëÆ÷´¦Àíºó׺ΪmµÄÎļþʱ£¬¿ÉÒÔʶ±ðobj-cºÍcµÄ´úÂ룬´¦ÀímmÎļþ¿ÉÒÔʶ±ðobj-c,c,c++´úÂ룬µ«cppÎļþ±ØÐëÖ»ÄÜÓÃc/c++´úÂ룬¶øÇÒcppÎļþincludeµÄÍ·ÎļþÖУ¬Ò²²»ÄܳöÏÖobj-cµÄ´úÂ룬ÒòΪcppÖ»ÊÇcpp
2) ÔÚmmÎļþÖлìÓÃcppÖ±½ÓʹÓü´¿É£¬ËùÒÔobj-c»ìcpp²»ÊÇÎÊÌâ
3£©ÔÚcppÖлìÓÃobj-cÆäʵ¾ÍÊÇʹÓÃobj-c±àдµÄÄ£¿éÊÇÎÒÃÇÏëÒªµÄ¡£
Èç¹ûÄ£¿éÒÔÀàʵÏÖ£¬ÄÇôҪ°´ÕÕcpp classµÄ±ê׼дÀàµÄ¶¨Ò壬ͷÎļþÖв»ÄܳöÏÖobj-cµÄ¶«Î÷£¬°üÀ¨#import cocoaµÄ¡£ÊµÏÖÎļþÖУ¬¼´ÀàµÄʵÏÖ´úÂëÖпÉÒÔʹÓÃobj-cµÄ¶«Î÷£¬¿ÉÒÔimport,Ö»ÊǺó׺ÊÇmm¡£
Èç¹ûÄ£¿éÒÔº¯ÊýʵÏÖ£¬ÄÇôͷÎļþÒª°´cµÄ¸ñʽÉùÃ÷º¯Êý£¬ÊµÏÖÎļþÖУ¬c++º¯ÊýÄÚ²¿¿ÉÒÔÓÃobj-c£¬µ«ºó׺»¹ÊÇmm»òm¡£
×Ü ½á£ºÖ»ÒªcppÎļþºÍcpp includeµÄÎļþÖв»°üº¬obj-cµÄ¶«Î÷¾Í¿ÉÒÔÓÃÁË£¬cpp»ìÓÃobj-cµÄ¹Ø¼üÊÇʹÓýӿڣ¬¶ø²»ÄÜÖ±½ÓʹÓÃʵÏÖ´úÂ룬ʵ¼ÊÉÏcpp»ìÓõÄÊÇ obj-c±àÒëºóµÄoÎļþ£¬Õâ¸ö¶«Î÷ÆäʵÊÇÎÞ²î±ðµÄ£¬ËùÒÔ¿ÉÒÔÓá£obj-cµÄ±àÒëÆ÷Ö§³Öcpp.
18.Ä¿±ê-¶¯×÷»úÖÆ
Ä¿±êÊǶ¯×÷ÏûÏ¢µÄ½ÓÊÕÕß¡£Ò»¸ö¿Ø¼þ£¬»òÕ߸üΪ³£¼ûµÄÊÇËüµÄµ¥Ôª£¬ÒÔ²å×ù±äÁ¿£¨²Î¼û¡±²å×ù±äÁ¿¡±²¿·Ö£©
µÄÐÎʽ±£ÓÐÆä¶¯×÷ÏûÏ¢µÄÄ¿±ê¡£
¶¯×÷Êǿؼþ·¢Ë͸øÄ¿±êµÄÏûÏ¢£¬»òÕß´ÓÄ¿±êµÄ½Ç¶È¿´£¬ËüÊÇÄ¿±êΪÁËÏìÓ¦¶¯×÷¶øÊµÏֵķ½·¨¡£
³ÌÐòÐèҪijЩ»úÖÆÀ´½øÐÐʼþºÍÖ¸ÁîµÄ·Òë¡£Õâ¸ö»úÖÆ¾ÍÊÇÄ¿±ê-¶¯×÷»úÖÆ¡£
19.cocoa touch¿ò¼Ü
iPhone OS Ó¦ÓóÌÐòµÄ»ù´¡ Cocoa Touch ¿ò¼ÜÖØÓÃÁËÐí¶à Mac ϵͳµÄ³ÉÊìģʽ£¬µ«ÊÇËü¸ü¶àµØ×¨×¢ÓÚ´¥ÃþµÄ½Ó¿ÚºÍÓÅ»¯¡£UIKit ΪÄúÌṩÁËÔÚ iPhone OS ÉÏʵÏÖͼÐΣ¬Ê¼þÇý¶¯³ÌÐòµÄ»ù±¾¹¤¾ß£¬Æä½¨Á¢ÔÚºÍ Mac OS X ÖÐÒ»ÑùµÄ Foundation ¿ò¼ÜÉÏ£¬°üÀ¨Îļþ´¦Àí£¬ÍøÂ磬×Ö·û´®²Ù×÷µÈ¡£
Cocoa Touch ¾ßÓÐºÍ iPhone Óû§½Ó¿ÚÒ»ÖµÄÌØÊâÉè¼Æ¡£ÓÐÁË UIKit£¬Äú¿ÉÒÔʹÓà iPhone OS ÉϵĶÀÌØµÄͼÐνӿڿؼþ£¬°´Å¥£¬ÒÔ¼°È«ÆÁÊÓͼµÄ¹¦ÄÜ£¬Äú»¹¿ÉÒÔʹÓüÓËÙÒǺͶàµã´¥ÃþÊÖÊÆÀ´¿ØÖÆÄúµÄÓ¦Óá£
¸÷É«¾ãÈ«µÄ¿ò¼Ü ³ýÁË UIKit Í⣬Cocoa Touch °üº¬ÁË´´½¨ÊÀ½çÒ»Á÷ iPhone Ó¦ ÓóÌÐòÐèÒªµÄËùÓпò¼Ü£¬´ÓÈýάͼÐΣ¬µ½×¨ÒµÒôЧ£¬ÉõÖÁÌṩÉ豸·ÃÎÊ API ÒÔ¿ØÖÆÉãÏñÍ·£¬»òͨ¹ý GPS »ñÖªµ±Ç°Î»Öá£Cocoa Touch ¼È°üº¬Ö»ÐèÒª¼¸ÐдúÂë¾Í¿ÉÒÔÍê³ÉÈ«²¿ÈÎÎñµÄÇ¿´óµÄ Objective-C ¿ò¼Ü£¬Ò²ÔÚÐèҪʱÌṩ»ù´¡µÄ C ÓïÑÔ API À´Ö±½Ó·ÃÎÊϵͳ¡£ÕâЩ¿ò¼Ü°üÀ¨£º
Core Animation
ͨ¹ý Core Animation£¬Äú¾Í¿ÉÒÔͨ¹ýÒ»¸ö»ùÓÚ×éºÏ¶ÀÁ¢Í¼²ãµÄ¼òµ¥µÄ±à³ÌÄ£ÐÍÀ´´´½¨·á¸»µÄÓû§ÌåÑé¡£
Core Audio
Core Audio ÊDz¥·Å£¬´¦ÀíºÍÂ¼ÖÆÒôƵµÄרҵ¼¼Êõ£¬Äܹ»ÇáËÉΪÄúµÄÓ¦ÓóÌÐòÌí¼ÓÇ¿´óµÄÒôƵ¹¦ÄÜ¡£
Core Data
ÌṩÁËÒ»¸öÃæÏò¶ÔÏóµÄÊý¾Ý¹ÜÀí½â¾ö·½°¸£¬ËüÒ×ÓÚʹÓúÍÀí½â£¬ÉõÖÁ¿É´¦ÀíÈκÎÓ¦Óûò´ó»òСµÄÊý¾ÝÄ£ÐÍ¡£
¹¦ÄÜÁÐ±í£º¿ò¼Ü·ÖÀà
ÏÂÃæÊÇ Cocoa Touch ÖÐһС²¿·Ö¿ÉÓõĿò¼Ü£º
ÒôƵºÍÊÓÆµ
Core Audio
OpenAL
Media Library
AV Foundation
Êý¾Ý¹ÜÀí
Core Data
SQLite
ͼÐκͶ¯»
Core Animation
OpenGL ES
Quartz 2D
ÍøÂç/li>
Bonjour
WebKit
BSD Sockets
Óû§Ó¦ÓÃ
Address Book
Core Location
Map Kit
Store Kit
20.objcµÄÄÚ´æ¹ÜÀí
Èç¹ûÄúͨ¹ý·ÖÅäºÍ³õʼ»¯£¨±ÈÈç[[MyClass alloc] init]£©µÄ·½Ê½À´´´½¨¶ÔÏó£¬Äú¾ÍÓµ
ÓÐÕâ¸ö¶ÔÏó£¬ÐèÒª¸ºÔð¸Ã¶ÔÏóµÄÊÍ·Å¡£Õâ¸ö¹æÔòÔÚʹÓÃNSObjectµÄ±ãÀû·½·¨new ʱҲͬÑùÊÊÓá£
Èç¹ûÄú¿½±´Ò»¸ö¶ÔÏó£¬ÄúÒ²ÓµÓп½±´µÃµ½µÄ¶ÔÏó£¬ÐèÒª¸ºÔð¸Ã¶ÔÏóµÄÊÍ·Å¡£
Èç¹ûÄú±£³ÖÒ»¸ö¶ÔÏó£¬Äú¾Í²¿·ÖÓµÓÐÕâ¸ö¶ÔÏó£¬ÐèÒªÔÚ²»ÔÙʹÓÃʱÊͷŸöÔÏó¡£
·´¹ýÀ´£¬
Èç¹ûÄú´ÓÆäËü¶ÔÏóÄÇÀï½ÓÊÕµ½Ò»¸ö¶ÔÏó£¬ÔòÄú²»ÓµÓиöÔÏó£¬Ò²²»Ó¦¸ÃÊÍ·ÅËü£¨Õâ¸ö¹æÔòÓÐÉÙÊý
µÄÀýÍ⣬Ôڲο¼ÎĵµÖÐÓÐÏÔʽµÄ˵Ã÷£©¡£
21.×Ô¶¯ÊͷųØÊÇʲô,ÈçºÎ¹¤×÷
µ± ÄúÏòÒ»¸ö¶ÔÏó·¢ËÍÒ»¸öautoreleaseÏûϢʱ£¬Cocoa¾Í»á½«¸Ã¶ÔÏóµÄÒ»¸öÒýÓ÷ÅÈëµ½×îеÄ×Ô¶¯Êͷųء£ËüÈÔÈ»ÊǸöÕýµ±µÄ¶ÔÏó£¬Òò´Ë×Ô¶¯Êͷųض¨ ÒåµÄ×÷ÓÃÓòÄ򵀮äËü¶ÔÏó¿ÉÒÔÏòËü·¢ËÍÏûÏ¢¡£µ±³ÌÐòÖ´Ðе½×÷ÓÃÓò½áÊøµÄλÖÃʱ£¬×Ô¶¯ÊͷųؾͻᱻÊÍ·Å£¬³ØÖеÄËùÓжÔÏóÒ²¾Í±»ÊÍ·Å¡£
1. ojc-c ÊÇ Í¨¹ýÒ»ÖÖ¡±referring counting¡±(ÒýÓüÆÊý)µÄ·½Ê½À´¹ÜÀíÄÚ´æµÄ, ¶ÔÏóÔÚ¿ªÊ¼·ÖÅäÄÚ´æ(alloc)µÄʱºòÒýÓüÆÊýΪһ,ÒÔºóÿµ±Åöµ½ÓÐcopy,retainµÄʱºòÒýÓüÆÊý¶¼»á¼ÓÒ», ÿµ±Åöµ½releaseºÍautoreleaseµÄʱºòÒýÓüÆÊý¾Í»á¼õÒ»,Èç¹û´Ë¶ÔÏóµÄ¼ÆÊý±äΪÁË0, ¾Í»á±»ÏµÍ³Ïú»Ù.
2. NSAutoreleasePool ¾ÍÊÇÓÃÀ´×öÒýÓüÆÊýµÄ¹ÜÀí¹¤×÷µÄ,Õâ¸ö¶«Î÷Ò»°ã²»ÓÃÄã¹ÜµÄ.
3. autoreleaseºÍreleaseÃ»Ê²Ã´Çø±ð,Ö»ÊÇÒýÓüÆÊý¼õÒ»µÄʱ»ú²»Í¬¶øÒÑ,autorelease»áÔÚ¶ÔÏóµÄʹÓÃÕæÕý½áÊøµÄʱºò²Å×öÒýÓüÆÊý¼õÒ».
22.À๤³§·½·¨ÊÇʲô
À๤³§·½·¨µÄʵÏÖÊÇΪÁËÏò¿Í»§Ìṩ·½±ã£¬ËüÃǽ«·ÖÅäºÍ³õʼ»¯ºÏÔÚÒ»¸ö²½ÖèÖУ¬·µ»Ø±»´´½¨µÄ¶ÔÏ󣬲¢
½øÐÐ×Ô¶¯ÊÍ·Å´¦Àí¡£ÕâЩ·½·¨µÄÐÎʽÊÇ+ (type)className¡£¨ÆäÖÐ className²»°üÀ¨ÈκÎǰ׺£©¡£
¹¤³§·½·¨¿ÉÄܲ»½ö½öΪÁË·½±ãʹÓá£ËüÃDz»µ«¿ÉÒÔ½«·ÖÅäºÍ³õʼ»¯ºÏÔÚÒ»Æð£¬»¹¿ÉÒÔΪ³õʼ»¯¹ý³ÌÌṩ¶Ô
ÏóµÄ·ÖÅäÐÅÏ¢¡£
À๤³§·½·¨µÄÁíÒ»¸öÄ¿µÄÊÇʹÀࣨ±ÈÈçNSWorkspace£©Ìṩµ¥¼þʵÀý¡£ËäÈ»init¡·½·¨¿ÉÒÔÈ·ÈÏÒ»
¸öÀàÔÚÿ´Î³ÌÐòÔËÐйý³ÌÖ»´æÔÚÒ»¸öʵÀý£¬µ«ËüÐèÒªÊ×ÏÈ·ÖÅäÒ»¸ö¡°ÉúµÄ¡±ÊµÀý£¬È»ºó»¹±ØÐëÊͷŸÃʵÀý¡£
¹¤³§·½·¨Ôò¿ÉÒÔ±ÜÃâΪ¿ÉÄÜûÓÐÓõĶÔÏóäĿ·ÖÅäÄÚ´æ¡£
23.µ¥¼þʵÀýÊÇʲô
Foundation ºÍ Application Kit ¿ò¼ÜÖеÄһЩÀàÖ»ÔÊÐí´´½¨µ¥¼þ¶ÔÏ󣬼´ÕâЩÀàÔÚµ±Ç°½ø³ÌÖеÄΨһʵÀý¡£¾ÙÀýÀ´Ëµ£¬NSFileManager ºÍNSWorkspace ÀàÔÚʹÓÃʱ¶¼ÊÇ»ùÓÚ½ø³Ì½øÐе¥¼þ¶ÔÏóµÄʵÀý»¯¡£µ±ÏòÕâЩÀàÇëÇóʵÀýµÄʱºò£¬ËüÃÇ»áÏòÄú´«µÝµ¥Ò»ÊµÀýµÄÒ»¸öÒýÓã¬Èç¹û¸ÃʵÀý»¹²»´æÔÚ£¬ÔòÊ×ÏȽøÐÐʵÀýµÄ·ÖÅä ºÍ³õʼ»¯¡£µ¥¼þ¶ÔÏó³äµ±¿ØÖÆÖÐÐĵĽÇÉ«£¬¸ºÔðÖ¸Òý»òе÷ÀàµÄ¸÷ÖÖ·þÎñ¡£Èç¹ûÀàÔÚ¸ÅÄîÉÏÖ»ÓÐÒ»¸öʵÀý£¨±ÈÈç
NSWorkspace£©£¬¾ÍÓ¦¸Ã²úÉúÒ»¸öµ¥¼þʵÀý£¬¶ø²»ÊǶà¸öʵÀý£»Èç¹û½«À´Ä³Ò»Ìì¿ÉÄÜÓжà¸öʵÀý£¬Äú¿É
ÒÔʹÓõ¥¼þʵÀý»úÖÆ£¬¶ø²»Êǹ¤³§·½·¨»òº¯Êý¡£
24.¶¯Ì¬°ó¶¨
¡ªÔÚÔËÐÐʱȷ¶¨Òªµ÷Óõķ½·¨
¶¯ ̬°ó¶¨½«µ÷Ó÷½·¨µÄÈ·¶¨Ò²ÍƳٵ½ÔËÐÐʱ¡£ÔÚ±àÒëʱ£¬·½·¨µÄµ÷Óò¢²»ºÍ´úÂë°ó¶¨ÔÚÒ»Æð£¬Ö»ÓÐÔÚÏûʵ·¢ËͳöÀ´Ö®ºó£¬²ÅÈ·¶¨±»µ÷ÓõĴúÂ롣ͨ¹ý¶¯Ì¬ÀàÐͺͶ¯Ì¬°ó ¶¨¼¼Êõ£¬ÄúµÄ´úÂëÿ´ÎÖ´Ðж¼¿ÉÒԵõ½²»Í¬µÄ½á¹û¡£ÔËÐÐʱÒò×Ó¸ºÔðÈ·¶¨ÏûÏ¢µÄ½ÓÊÕÕߺͱ»µ÷Óõķ½·¨¡£ÔËÐÐʱµÄÏûÏ¢·Ö·¢»úÖÆÎª¶¯Ì¬°ó¶¨Ìṩ֧³Ö¡£µ±ÄúÏòÒ»¸ö¶¯ ̬ÀàÐÍÈ·¶¨Á˵ĶÔÏó·¢ËÍÏûϢʱ£¬ÔËÐл·¾³ÏµÍ³»áͨ¹ý½ÓÊÕÕßµÄisaÖ¸Õ붨λ¶ÔÏóµÄÀ࣬²¢ÒÔ´ËΪÆðµãÈ·¶¨±»µ÷Óõķ½·¨£¬·½·¨ºÍÏûÏ¢ÊǶ¯Ì¬°ó¶¨µÄ¡£¶øÇÒ£¬Äú²» ±ØÔÚObjective-C ´úÂëÖÐ×öÈκι¤×÷£¬¾Í¿ÉÒÔ×Ô¶¯»ñÈ¡¶¯Ì¬°ó¶¨µÄºÃ´¦¡£ÄúÔÚÿ´Î·¢ËÍÏûϢʱ£¬
ÌØ±ðÊǵ±ÏûÏ¢µÄ½ÓÊÕÕßÊǶ¯Ì¬ÀàÐÍÒѾȷ¶¨µÄ¶ÔÏóʱ£¬¶¯Ì¬°ó¶¨¾Í»áÀýÐжøÍ¸Ã÷µØ·¢Éú¡£
25.obj-cµÄÓÅȱµã
objcÓŵ㣺
1) Cateogies
2) Posing
3) ¶¯Ì¬Ê¶±ð
4) Ö¸±ê¼ÆËã
5£©µ¯ÐÔѶϢ´«µÝ
6) ²»ÊÇÒ»¸ö¹ý¶È¸´Ô C ÑÜÉúÓïÑÔ
7) Objective-C Óë C++ ¿É»ìºÏ±à³Ì
ȱµã:
1) ²»Ö§Ô®ÃüÃû¿Õ¼ä
2) ²»Ö§³ÖÔËËã·ûÖØÔØ
3£© ²»Ö§³Ö¶àÖØ¼Ì³Ð
4£© ʹÓö¯Ì¬ÔËÐÐʱÀàÐÍ£¬ËùÓеķ½·¨¶¼ÊǺ¯Êýµ÷Óã¬ËùÒԺܶà±àÒëʱÓÅ»¯·½·¨¶¼Óò»µ½¡££¨ÈçÄÚÁªº¯ÊýµÈ£©£¬ÐÔÄܵÍÁÓ¡£
26.sprintf,strcpy,memcpyʹÓÃÉÏÓÐʲôҪעÒâµÄµØ·½
strcpyÊÇÒ»¸ö×Ö·û´®¿½±´µÄº¯Êý£¬ËüµÄº¯ÊýÔÐÍΪstrcpy(char *dst, c*****t char *src);
½« src¿ªÊ¼µÄÒ»¶Î×Ö·û´®¿½±´µ½dst¿ªÊ¼µÄÄÚ´æÖÐÈ¥£¬½áÊøµÄ±êÖ¾·ûºÅΪ¡¯\0¡ä£¬ÓÉÓÚ¿½±´µÄ³¤¶È²»ÊÇÓÉÎÒÃÇ×Ô¼º¿ØÖƵģ¬ËùÒÔÕâ¸ö×Ö·û´®¿½±´ºÜÈÝÒ׳ö´í¡£¾ß ±¸×Ö·û´®¿½±´¹¦Äܵĺ¯ÊýÓÐmemcpy£¬ÕâÊÇÒ»¸öÄڴ濽±´º¯Êý£¬ËüµÄº¯ÊýÔÐÍΪmemcpy(char *dst, c*****t char* src, unsigned int len);
½«³¤¶ÈΪlenµÄÒ»¶ÎÄڴ棬´Ósrc¿½±´µ½dstÖÐÈ¥£¬Õâ¸öº¯ÊýµÄ³¤¶È¿É¿Ø¡£µ«ÊÇ»áÓÐÄÚ´æµþ¼ÓµÄÎÊÌâ¡£
sprintfÊǸñʽ»¯º¯Êý¡£½«Ò»¶ÎÊý¾Ýͨ¹ýÌØ¶¨µÄ¸ñʽ£¬¸ñʽ»¯µ½Ò»¸ö×Ö·û´®»º³åÇøÖÐÈ¥¡£sprintf¸ñʽ»¯µÄº¯ÊýµÄ³¤¶È²»¿É¿Ø£¬ÓпÉÄܸñʽ»¯ºóµÄ×Ö·û´®»á³¬³ö»º³åÇøµÄ´óС£¬Ôì³ÉÒç³ö¡£
27. ÓñäÁ¿a¸ø³öÏÂÃæµÄ¶¨Òå
a) Ò»¸öÕûÐÍÊý£¨An integer£©
b)Ò»¸öÖ¸ÏòÕûÐÍÊýµÄÖ¸Õ루 A pointer to an integer£©
c)Ò»¸öÖ¸ÏòÖ¸ÕëµÄµÄÖ¸Õ룬ËüÖ¸ÏòµÄÖ¸ÕëÊÇÖ¸ÏòÒ»¸öÕûÐÍÊý£¨ A pointer to a pointer to an intege£©r
d)Ò»¸öÓÐ10¸öÕûÐÍÊýµÄÊý×飨 An array of 10 integers£©
e) Ò»¸öÓÐ10¸öÖ¸ÕëµÄÊý×飬¸ÃÖ¸ÕëÊÇÖ¸ÏòÒ»¸öÕûÐÍÊýµÄ¡££¨An array of 10 pointers to integers£©
f) Ò»¸öÖ¸ÏòÓÐ10¸öÕûÐÍÊýÊý×éµÄÖ¸Õ루 A pointer to an array of 10 integers£©
g) Ò»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÐÍÊý£¨A pointer to a function that takes an integer as an argument
and returns an integer£©
h)Ò»¸öÓÐ10¸öÖ¸ÕëµÄÊý×飬¸ÃÖ¸ÕëÖ¸ÏòÒ»¸öº¯Êý£¬¸Ãº¯ÊýÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÐÍÊý£¨ An array of ten pointers to functi***** t
hat take an integer argument and return an integer £©
´ð°¸ÊÇ£º
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functi***** that take an integer argument and return an integer
28.readwrite£¬readonly£¬assign£¬retain£¬copy£¬nonatomicÊôÐÔµÄ×÷ÓÃ
@propertyÊÇÒ»¸öÊôÐÔ·ÃÎÊÉùÃ÷£¬À©ºÅÄÚÖ§³ÖÒÔϼ¸¸öÊôÐÔ£º
1£¬getter=getterName£¬setter=setterName£¬ÉèÖÃsetterÓëgetterµÄ·½·¨Ãû
2£¬readwrite,readonly£¬ÉèÖÿɹ©·ÃÎʼ¶±ð
2£¬assign£¬setter·½·¨Ö±½Ó¸³Öµ£¬²»½øÐÐÈκÎretain²Ù×÷£¬ÎªÁ˽â¾öÔÀàÐÍÓë»·ÑÒýÓÃÎÊÌâ
3£¬retain£¬setter·½·¨¶Ô²ÎÊý½øÐÐrelease¾ÉÖµÔÙretainÐÂÖµ£¬ËùÓÐʵÏÖ¶¼ÊÇÕâ¸ö˳Ðò(CCÉÏÓÐÏà¹Ø×ÊÁÏ)
4£¬copy£¬setter·½·¨½øÐÐCopy²Ù×÷£¬Óëretain´¦ÀíÁ÷³ÌÒ»Ñù£¬ÏȾÉÖµrelease£¬ÔÙCopy³öеĶÔÏó£¬retainCountΪ1¡£ÕâÊÇΪÁ˼õÉÙ¶ÔÉÏÏÂÎĵÄÒÀÀµ¶øÒýÈëµÄ»úÖÆ¡£
5£¬nonatomic£¬·ÇÔ×ÓÐÔ·ÃÎÊ£¬²»¼Óͬ²½£¬¶àÏ̲߳¢·¢·ÃÎÊ»áÌá¸ßÐÔÄÜ¡£×¢Ò⣬Èç¹û²»¼Ó´ËÊôÐÔ£¬ÔòĬÈÏÊÇÁ½¸ö·ÃÎÊ·½·¨¶¼ÎªÔ×ÓÐÍÊÂÎñ·ÃÎÊ¡£Ëø±»¼Óµ½ËùÊô¶ÔÏóʵÀý¼¶(ÎÒÊÇÕâôÀí½âµÄ¡)¡£