c/c++void¼°voidÖ¸ÕëÀàÐÍ
c/c++void¼°voidÖ¸ÕëÀàÐÍ
¡¡¡¡1.¸ÅÊöÐí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬ÒåvoidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊý¾Ý¡£
¡¡¡¡void¼¸ºõÖ»ÓГעÊÍ”ºÍÏÞÖÆ³ÌÐòµÄ×÷Óã¬ÒòΪ´ÓÀ´Ã»ÓÐÈ˻ᶨÒåÒ»¸övoid±äÁ¿£¬ÈÃÎÒÃÇÊÔ×ÅÀ´¶¨Ò壺
¡¡¡¡void a;
¡¡¡¡ÕâÐÐÓï¾ä±àÒëʱ»á³ö´í£¬Ìáʾ“illegal use of type 'void'”¡£²»¹ý£¬¼´Ê¹void aµÄ±àÒë²»»á³ö´í£¬ËüҲûÓÐÈκÎʵ¼ÊÒâÒå¡£
¡¡¡¡voidÕæÕý·¢»ÓµÄ×÷ÓÃÔÚÓÚ£º
¡¡¡¡£¨1£©¶Ôº¯Êý·µ»ØµÄÏÞ¶¨£»
¡¡¡¡£¨2£© ¶Ôº¯Êý²ÎÊýµÄÏÞ¶¨¡£
¡¡¡¡ÎÒÃǽ«ÔÚµÚÈý½Ú¶ÔÒÔÉ϶þµã½øÐоßÌå˵Ã÷¡£
¡¡¡¡ÖÚËùÖÜÖª£¬Èç¹ûÖ¸Õëp1ºÍp2µÄÀàÐÍÏàͬ£¬ÄÇôÎÒÃÇ¿ÉÒÔÖ±½ÓÔÚp1ºÍp2¼ä»¥Ïำֵ£»Èç¹ûp1ºÍp2Ö¸Ïò²»Í¬µÄÊý¾ÝÀàÐÍ£¬Ôò±ØÐëʹÓÃÇ¿ÖÆÀàÐÍ
¡¡¡¡×ª»»ÔËËã·û°Ñ¸³ÖµÔËËã·ûÓұߵÄÖ¸ÕëÀàÐÍת»»Îª×ó±ßÖ¸ÕëµÄÀàÐÍ¡£
¡¡¡¡ÀýÈ磺
¡¡¡¡float *p1;
¡¡¡¡int *p2;
¡¡¡¡p1 = p2;
¡¡¡¡ÆäÖÐp1 = p2Óï¾ä»á±àÒë³ö´í£¬Ìáʾ“'=' : cannot convert from 'int *' to 'float *'”£¬±ØÐë¸ÄΪ£º
¡¡¡¡p1 = (float *)p2;
¡¡¡¡¶øvoid *Ôò²»Í¬£¬ÈκÎÀàÐ͵ÄÖ¸Õë¶¼¿ÉÒÔÖ±½Ó¸³Öµ¸øËü£¬ÎÞÐè½øÐÐÇ¿ÖÆÀàÐÍת»»£º
¡¡¡¡void *p1;
¡¡¡¡int *p2;
¡¡¡¡p1 = p2;
¡¡¡¡µ«Õâ²¢²»Òâζ×Å£¬void *Ò²¿ÉÒÔÎÞÐèÇ¿ÖÆÀàÐÍת»»µØ¸³¸øÆäËüÀàÐ͵ÄÖ¸Õë¡£ÒòΪ“ÎÞÀàÐÍ”¿ÉÒÔ°üÈÝ“ÓÐÀàÐÍ”£¬¶ø“ÓÐÀàÐÍ”Ôò²»ÄܰüÈÝ“ÎÞÀàÐÍ”¡£µÀÀíºÜ¼òµ¥£¬ÎÒÃÇ¿ÉÒÔ˵“ÄÐÈ˺ÍÅ®È˶¼ÊÇÈË”£¬µ«²»ÄÜ˵“ÈËÊÇÄÐÈË”»òÕß“ÈËÊÇÅ®ÈË”¡£ÏÂÃæµÄÓï¾ä±àÒë³ö´í£º
¡¡¡¡void *p1;
¡¡¡¡int *p2;
¡¡¡¡p2 = p1;
¡¡¡¡Ìáʾ“'=' : cannot convert from 'void *' to 'int *'”¡£
¡¡¡¡3.voidµÄʹÓÃ
¡¡¡¡ÏÂÃæ¸ø³övoid¹Ø¼ü×ÖµÄʹÓùæÔò£º
¡¡¡¡¹æÔòÒ» Èç¹ûº¯ÊýûÓзµ»ØÖµ£¬ÄÇôӦÉùÃ÷ΪvoidÀàÐÍ
¡¡¡¡ÔÚCÓïÑÔÖУ¬·²²»¼Ó·µ»ØÖµÀàÐÍÏÞ¶¨µÄº¯Êý£¬¾Í»á±»±àÒëÆ÷×÷Ϊ·µ»ØÕûÐÍÖµ´¦Àí¡£µ«ÊÇÐí¶à³ÌÐòԱȴÎóÒÔΪÆäΪvoidÀàÐÍ¡£ÀýÈ磺add ( int a, int b )
¡¡¡¡{
¡¡¡¡return a + b;
¡¡¡¡}
¡¡¡¡int main(int argc, char* argv[])
¡¡¡¡{
¡¡¡¡printf ( "2 + 3 = %d", add ( 2, 3) );
¡¡¡¡}
¡
Ïà¹ØÎĵµ£º
±¾ÎĹؼü´Ê£º c++ º¬Òå
1.ÒýÑÔ
C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ ......
1.
printf("%.9lf\n",sum);
//Êä³öСÊýµãºó9λ²»Ê¡È¥Ä©Î²¶àÓàµÄ0
2.
printf("%.10g\n",sum);
//Êä³öСÊýµãºó9λ²»Ê¡È¥Ä©Î²¶àÓàµÄ0
3.
#include<iomanip>
cout<<setprecision(10)<<sum<<endl;
//Êä³öСÊýµãºó9λʡȥĩβ¶àÓàµÄ0
4.
#include<iomanip>
cout.pre ......
×Ô¼ºËѼ¯²¢ÇÒÕûÀí£¬ÓÃÓڲο¼¡£
1.ÍêÕûÁ÷³Ì£º
CÔ´³ÌÐòÍ·Îļþ££>Ô¤±àÒë´¦Àí(cpp)££>±àÒë³ÌÐò±¾Éí££>ÓÅ»¯³ÌÐò££>»ã±à³ÌÐò££>Á´½Ó³ÌÐò-->¿ÉÖ´ÐÐÎļþ
pic from http://edmulroy.portbridge.com/oview.htm
2. cµÄÔ¤´¦Àí
Ô¤±àÒë³ÌÐòËùÍê³ÉµÄ»ù±¾ÉÏÊǶÔÔ´³ÌÐòµÄ& ......
[root@localhost test]# hexdump -s 0 -n 52 -C helloworld
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 03 00 01 00 00 00 10 83 04 08 34 00 00 00 |............4...|
00000020 30 08 00 00 00 00 00 00 34 00 20 ......
λ¼ÆÊý¾ÍÊǶÔÒ»¸öÊýÖоßÓÐÄ³Ð©ÌØÕ÷µÄλ½øÐмÆÊý¡£¿´ÏÂÃæÊµÏÖ£º
/* bitscount.c£ºÎ»¼ÆÊý */
/* ¼ÆËãxÖÐ1λµÄÊýÄ¿£º·½°¸1£¬²ÉÓ÷ÖÖβßÂÔ */
inline int pop(unsigned x){
/* ¶Ôÿ¸ö2λ×ֶΣ¬ÏÈÎö³öÆäÓҶ˵Ä1룬ÔÙÎö³öÆä×ó¶ËµÄ1λ£¬È»ºóÈÃÕâÁ½¸öλÏà¼Ó */
x=(x & 0x55555555)+((x>>1) & 0x555555 ......