CºÍC++µÄ±ê×¼¿â
CºÍC++µÄ±ê×¼¿â
ĬÈÏ·ÖÀà 2008-02-28 14:28 ÔĶÁ3 ÆÀÂÛ0
×ֺţº ´ó´ó ÖÐÖРСС
http://blog.chinaunix.net/u/6776/showart_186792.html C/C++Éî²ã̽Ë÷
±¾Ð¡½ÚÎÒÃǸÅÀÀÒ»ÏÂC/C++±ê×¼¿âµÄȫò¡£
C/C++±ê×¼¿âµÄÄÚÈÝÖ÷Òª°üÀ¨£º
ºê¶¨Òå £¨Æ©È磺 #define FLT_RADIX 2£©
ÀàÐͶ¨Òå £¨Æ©È磺 typedef unsigned wchar _t£©
±äÁ¿ÉùÃ÷ºÍ¶¨Òå £¨Æ©È磺 extern int errno;£©
¿âº¯ÊýÉùÃ÷ºÍ¶¨Òå £¨Æ©È磺 size_t strlen(const char *s);£©
ÆäÖУ¬ºê¶¨Òå¡¢ÀàÐͶ¨Òå¡¢±äÁ¿ÉùÃ÷ºÍ¿âº¯ÊýµÄÉùÃ÷¶¼ÔÚ±ê׼ͷÎļþ½øÐÐÃèÊö£¬ËùÒÔ£¬±ê׼ͷÎļþʵ¼ÊÉÏÒѾ¹´»³öÕû¸ö±ê×¼¿âµÄÂÖÀª¡£
ÏÖÔÚÎÒÃÇÀ´¿´¿´CÓïÑԵıê׼ͷÎļþ¡£
C90ÓÐÕâЩ£º
assert.h ctype.h errno.h float.h
limits.h locale.h math.h setjmp.h
signal.h stdarg.h stddef.h stdio.h
stdlib.h string.h time.h
C95Ôö¼ÓÕ⼸¸ö£º
iso646.h wchar.h wctype.h
C99ÔÙÔö¼ÓÏÂÃæÕâЩ£º
complex.h fenv.h initypes.h stdbool.h
stdint.h tgmath.h
ҪעÒâµÄÊÇ£¬¸ß°æ±¾µÄC±ê×¼²»Ò»¶¨Êǽö½öÔö¼ÓÁËеÄÍ·Îļþ£¬»¹¿ÉÄܶÔÔÏȵͰ汾C±ê×¼µÄijЩͷÎļþ½øÐÐÁËÐ޸ĺÍÀ©³ä¡£
ʹÓÃC±ê×¼¿âºÜ¼òµ¥£¬Ö»ÐèÒª°üº¬ÏàÓ¦µÃÍ·Îļþ¾Í¿ÉÒÔÁË£¬ÀýÈ磺
/*C´úÂë*/
#include<stdio.h>
int main()
{
printf(“printf() again...boring!\n”);
}
¶ø¶ÔÓÚC++£¬Çé¿ö¾ÍÓе㸴ÔÓ¡£
Ê×ÏÈ£¬C++µÄÉè¼ÆÕßÏ£ÍûC++ÄÜÔÚÏ൱´óµÄ³Ì¶ÈÉϼæÈÝC£¬ÖÁÉÙ£¬C++±àÒëÆ÷Ó¦¸Ã×î´óÏ޶ȵĽÓÊÜÒѾ´æÔڵĴóÁ¿C´úÂë¡£ËùÒÔ£¬ÔÊÐíʹÓÃC±ê×¼¿â×ÔÈ»ÊÇ×·ÇóµÄÄ¿±êÖ®Ò»¡£µ«CÓïÑÔ²¢Ã»ÓÐÀ©Õ¹Ãû×ÖÕâ»ØÊ£¬Ò²¾ÍÊÇ˵£¬Èç¹ûÏëÖ±½ÓʹÓÃÒѾÓÃC±àÒëÆ÷±àÒëºÃµÄC¿â£¨Ö÷ÒªÊÇÖ¸¿âº¯Êý£©£¬C++±àÒëÆ÷±ØÐëÖªµÀÄÄЩÊÇC¿âº¯Êý£¬´Ó¶ø²»¶ÔÆä½øÐÐÃû×ÖÀ©Õ¹¡£ÓÚÊÇ£¬Á´½ÓÐÞÊηûextern “C”±
Ïà¹ØÎĵµ£º
1.c++µÄµ½´¦º¯ÊýÖ»ÒªÔÚº¯ÊýÉêÃ÷µÄʱºò¼Ó¸öµ¼³ö¹Ø¼ü×־ͿÉÒÔÁË
2.²ÎÊýÀàÐÍÎÊÌâ,
Ò»°ãµÄc++ÖÐchar * ¶ÔÓ¦ c#ÖеÄstring
¶øc++ÖÐ char **ÀàÐ͵IJÎÊý¶ÔÓ¦c#ÖÐ ref string ÕâÖÖÒ»°ã¶¼ÊÇÓÃÀ´·µ»Ø×Ö·û´®µÄ!
3.º¯ÊýÈë¿ÚÎÊÌâ,Ò»°ã»á³öÏÖ "ÕÒ²»µ½Èë¿Úµã" Õâ¸öÎÊÌâ²»ÊÇÓÉÄãÒýÆðµÄ,¶øÊÇϵͳ×Ô¼º°ÑÃû×Ö¸ÄÁË,¸Ä³ÉʲôÑùµÄÃû×Ö½¨ÒéÄãÓà ......
//#include "stdafx.h"
/*
ÃèÊö:´¿cÄ£ÄâÀà,´¿c±àдc++Àà,´¿cʵÏÖc++ÀàµÄ¼òµ¥·¶Àý,½á¹¹Ä£ÄâÀà,struct ±àдclass.
c±àдÀàÊÇʵÏÖ´¿c±àдcom×é¼þµÄ»ù´¡¡£
*/
#include <stdio.h>
typedef struct _Vtbl
{
void (*AddRef)(struct CObject* obj,int);//ËùÓеĺ¯ÊýµÄµÚÒ»¸ö²ÎÊýÀàËÆclassµÄÒþÄäµÄ ......
¿´Êý¾Ý½á¹¹ñÍÕ»µÄʱºòдÁËÕâôһ¶Î´úÂë
#include<stdio.h>
#include<stdlib.h>
struct linkstack
{
int data;
struct linkstack *next;
};
int initstack(linkstack * S)
{
S = (linkstack *)malloc(sizeof(linkstack));
if(S == NULL) return 0;
S->next = NULL;
return 1;
}
int main(int ......
×óÖµÐÔ£¨lvalueness£©ÔÚC/C++ÖÐÊDZí´ïʽµÄÒ»¸öÖØÒªÊôÐÔ¡£Ö»ÓÐͨ¹ýÒ»¸ö×óÖµ±í´ïʽ²ÅÄÜÀ´ÒýÓü°¸ü¸ÄÒ»¸ö¶ÔÏó£¨object£©µÄÖµ¡££¨Ä³Ð©Çé¿öÏ£¬ÓÒÖµ±í´ïʽҲÄÜÒýÓã¨refer£©µ½Ä³Ò»¸ö¶ÔÏ󣬲¢ÇÒ¿ÉÄܼä½ÓÐ޸ĸöÔÏóµÄÖµ£¬ºóÊö£©¡£
ºÎν¶ÔÏó£¿Èç¹ûûÓÐÃ÷ȷ˵Ã÷£¬ÕâÀï˵µÄ¶ÔÏ󣬺ÍÏÁÒåµÄÀà/¶ÔÏó£¨class/object£© ......