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
¡¡¡¡Ö»ÏÞ¶¨Ä¿Ç°µÄÏîÄ
Ïà¹ØÎĵµ£º
1¡¢ һЩͷÎļþµÄ×÷Óãº
<assert.h>£ºANSI C¡£Ìṩ¶ÏÑÔ£¬assert(±í´ïʽ)
<glib.h>£ºGCC¡£GTK£¬GNOMEµÄ»ù´¡¿â£¬ÌṩºÜ¶àÓÐÓõĺ¯Êý£¬ÈçÓÐÊý¾Ý½á¹¹²Ù×÷º¯Êý¡£Ê¹ÓÃglibÖ»ÐèÒª°üº¬<glib.h>
<dirent.h>£ºGCC¡£Îļþ¼Ð²Ù×÷º¯Êý¡£struct dirent,struct DIR,opendir(),closedir(),readdir(),readdi ......
ÕâÁ½ÌìѧϰC++ѧÀÛÁË£¬¿´Á˺ܶàµÄÍøÕ¾ÂÛ̳£¬Í»È»¸Ð¾õÃÔãÁË£¬c/c++µ½µ×ÄÜ×öÊ²Ã´ÄØ£¿ÏÖÔÚJAVAºÜÈÈ£¬Ò²ºÜºÃÕÒ¹¤×÷£¬¶øÇÒѧÆðÀ´»¹Ìý˵ºÜÈÝÒ×ÈëÃÅ¡£²»ÓÃѧ¼ÆËã»ú»ù´¡ÀàµÄ֪ʶ£¬¿ÉC/C++¾Í²»Í¬ÁË£¬Ö»Ñ§±à³Ì»¹²»ÐУ¬»¹µÃѧʲôÊý¾Ý½á¹¹£¬Ëã·¨£¬¼ÆËã»úÔÀí£¬²Ù×÷ϵͳ£¬»ã±àÓïÑÔ£¬±à³ÌÓþߵȵȣ¬ÐèÒªºÃ¶à£¬¸Ð¾õÒ» ......
/*
coder: ACboy
date: 2010-3-14
result: 1A
description: UVa 327 Evaluating Simple C Expressions
*/
#include <iostream>
#include <algorithm>
using namespace std;
struct Node {
char name;
int value;
int lastValue;
int pos;
};
int cmp(const Node & a, const Node &a ......
GCC Ö§³ÖÁËÐí¶à²»Í¬µÄÓïÑÔ£¬°üÀ¨ C¡¢C++¡¢Ada¡¢Fortran¡¢Objective C,Perl¡¢Python ºÍ Ruby£¬ÉõÖÁ»¹ÓÐJava¡£
¡¡¡¡Linux Äں˺ÍÐí¶àÆäËû×ÔÓÉÈí¼þÒÔ¼°¿ª·ÅÔ´ÂëÓ¦ÓóÌÐò¶¼ÊÇÓà C ÓïÑÔ±àд²¢Ê¹Óà GCC ±àÒëµÄ¡£
¡¡¡¡±àÒëC++³ÌÐò£º
¡¡¡¡-c Ö»±àÒë²»Á¬½Ó
¡¡¡¡g++ file1 -c -o file1.o
¡¡¡¡g++ file2 -c -o file2.o
¡¡¡¡g++ f ......
Á´½Óָʾ·ûextern C
Èç¹û³ÌÐòԱϣÍûµ÷ÓÃÆäËû³ÌÐòÉè¼ÆÓïÑÔÓÈÆäÊÇC дµÄº¯ÊýÄÇôµ÷Óú¯Êýʱ±ØÐë
¸æËß±àÒëÆ÷ʹÓò»Í¬µÄÒªÇóÀýÈçµ±ÕâÑùµÄº¯Êý±»µ÷ÓÃʱº¯ÊýÃû»ò²ÎÊýÅÅÁеÄ˳Ðò¿ÉÄÜ
²»Í¬ÎÞÂÛÊÇC++º¯Êýµ÷ÓÃËü»¹ÊÇÓÃÆäËûÓïÑÔдµÄº¯Êýµ÷ÓÃËü
³ÌÐòÔ±ÓÃÁ´½Óָʾ·ûlinkage directive ¸æËß±àÒëÆ÷¸Ãº¯ÊýÊÇÓÃÆäËûµÄ³ÌÐòÉè¼ÆÓïÑÔ
±àдµ ......