¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ λÔËËã
»Ø¹Ë֮ǰµÄƪ·ù£¬CÓïÑÔµÄÖ÷Ì岿·Ö»ù±¾ÒѾ½éÉÜÍêÁË¡£Ö®ËùÒÔûÓнéÉÜC++µÄÏà¹ØÌØÐÔÊÇÒòΪÔÚ֮ǰµÄÎÄÕÂÖÐCºÍC++ÔÚÕâЩ·½Ãæ¶¼Óй²ÐÔ£¬ËùÒÔÔÚÃæÏò¶ÔÏó֮ǰ¡£ÎÒÃÇÏȰÑÕâЩ¹²ÐÔ¸ø½éÉÜÍê¡£Ò²¾ÍÊÇ˵ÔÚ½éÉÜÃæÏò¶ÔÏó֮ǰ£¬ËùÓеÄÎÄÕ¶¼ÊÇCC++Öж¼ÄÜʹÓõġ£´ÓÕâµãÉÏÀ´¿´£¬ÏÖÔÚÕý¼«Á¦·Ü¶·ÓÚC++Õ½ÏßÉϵijõѧÕß»¹ÊǺÜÓÐÓô¦µÄ¡£
±¾Æª¼ÌÐøÑØ×ÅÕâÌõ·Ïߣ¬µ½±¾ÆªÎªÖ¹°üÀ¨±¾Æª¶¼»¹²»»á¼±ÓÚÈ¥½éÉÜC++µÄÃæÏò¶ÔÏóµÄÌØÐÔ¡£ÄÇôÔÚ֮ǰµÄÎÄÕÂÖУ¬¿ÉÒÔ˵»ù±¾¶¼°ÑÄÚÈݸø½éÉÜÍêÁË¡£±¾ÆªËäÈ»²»ÊÇ´ó¸ÅÄµ«ÊÇÔÚʵ¼ÊµÄÏîÄ¿ÖÐÊǾø¶ÔÀë²»¿ªµÄ¡£ÄÇôÎÒÃǾÍÔÚ±¾Æª¿ªÊ¼ÎÒÃǵÄλÔËËãÂó̡£
Ê×ÏÈ£¬Î»ÔËËãµ½µ×ÓÃÀ´×öʲô£¬Óô¦¶à²»£¬ºÃÏñµ½ÏÖÔÚÎÒҲûÓÐÔõôÓÃλÔËËãÄØ£¿ºÜ¶à³õѧÕßÎÒÏàÐÅ»áÓÐÕâÑùµÄÒÉÎÊ¡£ÄÇô±¾Æª¾Í½«½éÉÜλÔËËãµÄÇ¿´óÓÃ;¼°ÎÞÏÞ÷ÈÁ¦¡£
λÔËËã¸ú¶þ½øÖÆÁªÏµ·Ç³£½ôÃÜ£¬¶þ½øÖÆÕâ¸ö¸ÅÄîÏàÐÅ´ó¼Ò¶¼²»Ä°Éú£¬ÎÒÃǵÄλÔËËãÒ²¾ÍÊÇÔÚÕâЩ0»ò1ÉϽøÐвÙ×÷¡£²»ÒªËµ¶þ½øÖÆÄã¶¼²»ÖªµÀ¡£±ÈÈ磺
7µÄ8λ¶þ½øÖÆÎª£º 0000 0111
7µÄ32λ¶þ½øÖÆÎª£º 0000 0000 0000 0000 0000 0000 0000 0111
¶þ½øÖÆÓëÊ®½øÖƵĻ»ËãÎҾͲ»ËµÁË¡£ÉÏÃæÎªÊ²Ã´Èý¸ö1¾Í±íʾ7£¬²»ÖªµÀµÄ»°¾Í¿´¿´Êé¹þ¡£
ÉÏÃæËµµ½ÁË8λºÍ32룬ÎÒÃÇÖªµÀÒ»¸ö×Ö½Ú(byte)±íʾ8룬ÄÇô¶þ½øÖƵÄһλ¾ÍÊÇÕâ¸öλµÄÒâ˼¡£intÊÇ32룬ÄÇôдÍêÕûÊý×Ö0µÄ¶þ½øÖƾÍÓÐ32¸ö0¡£ÕâÑù˼¿¼ÆðÀ´ÔÚºóÃæµÄλÔËËãÉÏÒªºÃÀí½âÒ»µã¡£
ÏÈÀ´¿´¿´ÎÒÃǾ³£Óõ½µÄλÔËËã·û£º& (°´Î»Óë)¡¢| (°´Î»»ò)¡¢^ (°´Î»Òì»ò)¡¢~ (°´Î»È¡·´)¡¢>> (°´Î»ÓÒÒÆ)¡¢<< (°´Î»×óÒÆ)¡£
& ( °´Î»Óë): ¸ÅÄîÉÏÀ´½²¾ÍÊǶþ½øÖÆÉϰ´Ã¿Ò»Î»(0»ò1)½øÐÐÓëÔËËã¡£ÄÇôÓëÔËËãÊÇʲôÒâ˼¸Ã²»ÓÃÎÒ˵°É£¬¾ÍÊÇÁ½Õß¶¼ÊÇ1½á¹ûÎªÕæ¡£ÆäÖÐÒ»¸öΪ0½á¹ûΪ¼Ù¡£ÕâÀï²»¿ÉÄÜÓÐ0¡¢1Ö®ÍâµÄÊý£¬ÕâÀïÊǶþ½øÖÆ¡£ÏÈ¿´Ò»¸ö8λ¶þ½øÖƵÄÀý×Ó£º
7 & 8 = 0000 0 111 & 0000 1000 = 0000 0000 = 0
7 & 3 = 0000 0111 & 0000 0011 = 0000 0011 = 3
ºÜ¼òµ¥°É¡£²»Óöà˵ÁË£¬¾ÍÊDzÙ×÷0ºÍ1¡£
| ( °´Î»»ò): ¸ÅÄîÉÏÀ´½²¾ÍÊǶþ½øÖÆÉϰ´Ã¿Ò»Î»(0»ò1)½øÐлòÔËËã¡£ÄÇô»òÔËËãÊÇʲôÒâ˼¸Ã²»ÓÃÎÒ˵°É£¬¾ÍÊÇÁ½Õß¶¼ÊÇ0½á¹ûΪ¼Ù¡£ÆäËüÇé¿ö¶¼ÎªÕæ¡£
7 | 8 = 0000 0 111 | 0000 1000 = 0000 1111 = 15
7 | 3 = 0000 0111 | 0000 0011 = 0000 0111 = 7
^( °´Î»Òì»ò): ¸ÅÄîÉÏÀ´½²¾ÍÊǶþ½øÖÆÉϰ´Ã¿Ò»Î»(0»ò1)½øÐÐÒì»òÔËËã¡£ Òì»òÔËËã¼òµ¥½²¾ÍÊÇÏàͬ¾ÍΪ¼Ù£¬²»Í¬
Ïà¹ØÎĵµ£º
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx
++;
x = x&(x-1);
}
return countx;
}
¼Ù¶¨x = 9999¡£ ´ð°¸£º8
˼·£º½«xת»¯Îª2½øÖÆ£¬¿´º¬ÓеÄ1µÄ¸öÊý¡£
2. ʲôÊÇ“ÒýÓÔ£¿ÉêÃ÷ºÍʹÓÓÒýÓÔҪעÒâÄÄЩÎÊÌ⣿
´ð£ºÒýÓþÍÊÇij¸öÄ¿±ê±äÁ¿µÄ&l ......
Ò»£® ¸ÅÊö
ÄÚ´æÐ¹Â©Ò»Ö±ÊÇÈí¼þ¿ª·¢ÈËÔ±×îÍ·´óµÄÎÊÌâÖ®Ò»£¬ÓÈÆäÏñC/C++ÕâÑù×ÔÓɶȷdz£´óµÄ±à³ÌÓïÑÔ£¬¼¸ºõÊÇÿһ¸öÓÃÆä¿ª·¢³öÀ´µÄÈí¼þ¶¼»á³öÏÖÄÚ´æÐ¹Â©µÄÇé¿ö¡£
Èç¹ûûÓÐÄÚ´æÐ¹Â©£¬ÊÀ½ç»òÐí»á±äµÄÃÀºÃ¡£È»¶ø£¬ÍêÈ«ÃÀºÃµÄÊÀ½çÊDz»´æÔڵģ¬ÎÒÃÇÄÜ×öµÄ¾ÍÊǾ¡Á¿ÈÃËü±äµÄ¸üÃÀ ......
¡¡¡¡¶ÔÓÚÒ»¸öc/c++³ÌÐòÔ±À´Ëµ£¬ÄÚ´æÐ¹Â©ÊÇÒ»¸ö³£¼ûµÄÒ²ÊÇÁîÈËÍ·ÌÛµÄÎÊÌâ¡£ÒѾÓÐÐí¶à¼¼Êõ±»Ñо¿³öÀ´ÒÔÓ¦¶ÔÕâ¸öÎÊÌ⣬±ÈÈçSmart Pointer£¬Garbage CollectionµÈ¡£Smart Pointer¼¼Êõ±È½Ï³ÉÊ죬STLÖÐÒѾ°üº¬Ö§³ÖSmart PointerµÄclass£¬µ«ÊÇËüµÄʹÓÃËÆºõ²¢²»¹ã·º£¬¶øÇÒËüÒ²²»Äܽâ¾öËùÓеÄÎÊÌ⣻Garbage Collection¼¼ÊõÔÚJavaÖÐ ......
#include <iostream>
using namespace std;
void main()
{
char *p,*q;
p = "abcde";
q = p + 3;
*q = 't';
cout<<p<<endl;
cout<<q<<endl;
}
Á½ÖÖÓïÑÔ±àÒë¶¼¿ÉÒÔͨ¹ý
µ±Ö´Ðе½
*q = 't';
ʱ£¬C++³ÌÐò³öÏÖÄÚ´æ·ÃÎÊ´íÎó£¬C³ÌÐò¿ÉÒ ......