C#——C#ÖÐC/C++³ÌÐòԱҪעÒâµÄÎÊÌâ
1¡¢C/C++³ÌÐòÔ±Çë×¢Ò⣬²»ÄÜÔÚcaseÓï¾ä²»Îª¿Õʱ“ÏòÏÂÖ´ÐД¡£
2¡¢ÖµÀàÐͺÍÒýÓÃÀàÐÍÖ®¼äµÄÇø±ð£ºC#µÄ»ù±¾ÀàÐÍ£¨int£¬charµÈ£©¶¼ÊÇÖµÀàÐÍ£¬ÊÇÔÚÕ»Öд´½¨µÄ¡£¶ø¶ÔÏóÊÇÒýÓÃÀàÐÍ£¬´´½¨ÓÚ¶ÑÖУ¬ÐèҪʹÓùؼü×Önew¡£
3¡¢ÔÚC#ÖÐͨ¹ýʵÀý·ÃÎʾ²Ì¬·½·¨»ò³ÉÔ±±äÁ¿ÊDz»ºÏ·¨µÄ£¬»áÉú³É±àÒëÆ÷´íÎó¡£µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÉùÃ÷ËûÃǵÄÀàµÄÃû×ÖÀ´·¢·ÃÎʾ²Ì¬³ÉÔ±¡£
4¡¢C#ÅÉÉúÀàÖУ¬Ã»ÓÐ˽ÓлòÕß±£»¤¼Ì³Ð¡£¹ØÓÚÕâÒ»µãC++³ÌÐòÔ±×¢ÒâÁË¡£
5¡¢C#¶à̬ÐÔ,C++³ÌÐòÔ±×¢Òâ,±ØÐëÏÔʽÓùؼü×Ôoverride±ê¼ÇÖØж¨ÒåÁËÐé·½·¨µÄ·½·¨ÉùÃ÷¡£
6¡¢³éÏóÀàÓëÃÜ·âÀ࣬³éÏóÀàÓÃÀ´±»ÅÉÉú£¬²¢ÎªÆä×ÓÀàÌṩ×ñÑÄ£°æ£»¶øÃÜ·âÀàÔòÍêÈ«²»ÔÊÐí±»ÅÉÉú¡£³éÏóÀà¹Ø¼ü×ÖÊÇabstract£»ÃÜ·âÀà¹Ø¼ü×ÖΪsealed
7¡¢C#ÖнṹÌåµÄ¶¨ÒåÓëC++µÄ·Ç³£²»Í¬¡£ÔÚC++ÖУ¬½á¹¹ÌåÓëÀà³ýÁËĬÈϵĿɼûÐÔ£¨Ò»¸öÊÇpublic£¬Ò»¸öÊÇprivae£©Ö®ÍâÍêÈ«Ò»Ñù¡£¶øÔÚC#ÖУ¬½á¹¹ÌåÊÇÖµÀàÐÍ£¬¶øÀàÊÇÒýÓÃÀàÐÍ¡£
8¡¢C#ÖÐίÍÐÏ൱ÓÚC++Öеķ½·¨Ö¸Õ룬¹Ø¼ü×ÖΪdelegate¡£
9¡¢.NETÓÃÀ´´´½¨ÍøÒ³³ÌÐòµÄ¼¼ÊõÊÇASP.NET2.0£¬ËüÔÚÃüÃû¿Õ¼äSystem.WebºÍSystem.Web.UIÖÐΪ´´½¨ÍøÒ³³ÌÐòÌṩÁËÒ»Ì׷ḻµÄÀàÐÍ¡£
10¡¢C#Ïß³ÌÈýÖÖͬ²½»úÖÆ£º»¥ËøÀࣨInterlocked£©£¬C# lockÓï¾ä£¬ÒÔ¼°¼à¿ØÆ÷¶ÔÏó£¨Monitor class£©
11¡¢C#ÖÐҪʹÓÃÖµ±äÁ¿Ö®Ç°£¬ÐèÒªÊÂÏÈÉùÃ÷£¬²¢ÇÒÒªÔÚʹÓÃ֮ǰÏÈÉèÖóõʼֵ£¬ÓÀÔ¶²»¿ÉΪnull£»ÒýÓÃÀàÐͱäÁ¿£¬´æ´¢ÔÚheapÖУ¬²»ÔÊÐíÔÚ³õʼ»¯Ö®Ç°Ê¹ÓÃÕâ¸ö±äÁ¿¡£
12¡¢C#ÖÐswitch-caseÓï¾äÓëC/C++²»Í¬µØ·½ÔÚÓÚC#Öв»ÔÊÐícaseÅжÏʽ“silent fall through”¡£Ò²¾ÍÊÇ˵£¬µ±ÕÒµ½·ûºÏcase±ê¼ÇºóµÄ³£Êýºó£¬Ö»»áÖ´ÐдËcaseÇø¿éÖеijÌÐò´úÂ룬²»»áÔÙÖ´ÐÐÆäËûµÄcaseÅжÏʽ½øÐÐÅжϵĶ¯×÷¡£
13¡¢²ÎÊý´«Èë»úÖÆ
14¡¢C#ÖÐʹÓÃÊý×éҪעÒâÁ½¼þÊÂÇ飺Êý×éÃû³Æ²»¿ÉÖÃÓÚÖÐÀ¨ºÅÇ°·½£»ÉùÃ÷Êý×é±äÁ¿Ê±£¬²»Äܹ»Ö¸¶¨Êý×éµÄ´óС¡£
15¡¢Àà
C#µÄ³ÉÔ±·ÃÎÊÐÞÊηû°üº¬ÒÔϼ¸ÖÖ£º
Public
ÈκÎÍⲿµÄÀ඼¿ÉÒÔ²»ÊÜÏÞÖƵĴæÈ¡Õâ¸öÀàµÄ·½·¨ºÍÊý¾Ý³ÉÔ±¡£
Private
ÀàÖеÄËùÓз½·¨ÓëÊý¾Ý³ÉÔ±Ö»ÄÜÔÚ´ËÀàÖÐʹÓã¬ÍⲿÎÞ·¨´æÈ¡¡£
Protected
³ýÁËÈñ¾ÉíµÄÀà¿ÉÒÔʹÓÃÖ®Í⣬Èκμ̳Ð×Ô´ËÀàµÄ×ÓÀ඼¿ÉÒÔ´æÈ¡¡£
Internal
ÔÚͬһ¸ö.NET Assembly£¨Application»òLibrary£¬Ò²¾ÍÊÇ˵£¬Í¬Ò»¸öEXE»òͬһ¸öDLLÖеijÉÔ±£©Öж¼¿ÉÒÔ´æÈ¡¡£
Protected internal
Ö»ÏÞ¶¨Ä¿Ç°µÄÏîÄ¿£¬»òÊǼ̳Ð×Ô´ËÀàµÄ³ÉÔ±²Å¿ÉÒÔ´æÈ¡¡£
½á¹¹ÓëÀàµÄ²îÒ죺
16¡¢ÖµÀàÐÍÓëÒýÓÃÀàÐÍÖ®¼äµÄ»¥»
Ïà¹ØÎĵµ£º
C¡¢´«Í³ C++
#include <assert.h>¡¡¡¡¡¡¡¡
//É趨²åÈëµã
#include <ctype.h>¡¡¡¡¡¡¡¡
//×Ö·û´¦Àí
#include <errno.h>¡¡¡¡¡¡¡¡
//¶¨Òå´íÎóÂë
#include <float.h>¡¡¡¡¡¡¡¡
//¸¡µãÊý´¦Àí
#include <fstream.h>¡¡¡¡¡¡
//ÎļþÊäÈ룯Êä³ö
#include <iomanip.h>¡¡ ......
1.ÒýÑÔ ±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û-¡£
Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½Á ......
ÓÉÓÚ³ÌÐòÔËÐÐʱռÓõÄÄÚ´æ¹ý´ó£¬ËùÒÔÏë°ì·¨¸ø³ÌÐòÊÝÉí¡£
ÔÚµ÷ÊÔÖз¢ÏֽṹÌåÕ¼ÓõÄsize¾¹È»ºÍÔ¤ÏëµÄ²»Ò»Ñù£¬ÔÀ´……
¿´¿´ÏÂÃæ½²µÄ°É£¬¿Ï¶¨»á²»Í÷´Ë¿´Å¶£¡
1,±ÈÈç:
struct{
short a1;
short a2;
short a3;
}A;
struct{
......
import java.util.concurrent.Semaphore;
/**
* ³éÏóÈÎÎñ£¬¾ßÌåµÄÖ´ÐÐÈÎÎñ£¬¹éʵÏÖÀฺÔð
*
* @author Administrator
*
*/
public abstract class Task {
public abstract void run();
private Semaphore s;
private boolean hasExisted = false;
public void P(final Semaphore s) throws Interrupt ......