0

¹ØÓÚͶƱ
windows APIº¯Êý
1.¡¤itoaº¯Êý£¨×ª£©  
º¯ÊýÔ­ÐÎ
char *itoa(int value, char *string, int radix)
Parameters£¨²ÎÊý˵Ã÷£©:
value
Number to be converted£¨½«Òª±»×ª»»µÄÖµ£©
string
String result£¨×ª»»µÄ½á¹û£©
radix
Base of value; must be in the range 2 ¨C 36£¨×ª»»µÄ»ùÊý£¬È¡Öµ·¶Î§2-36¡£ÀýÈçradix=10±íʾ10½øÖÆ£¬radix=8±íʾ8½øÖÆ¡££©
·µ»ØÖµ£ºÓëstring²ÎÊýÏàͬ£¬±ãÓÚº¯ÊýµÄǶÌ×µ÷ÓÃ

ÒÔÏÂÊÇÓÃitoa()º¯Êý½«ÕûÊýת »»Îª×Ö·û´®µÄÒ»¸öÀý×Ó£º

#include <stdlib.h>

#include <stdio.h>

void main( void )

{

   char buffer[20];

   int  i = 3445;

 

   itoa( i, buffer, 10 );

   printf( "String of integer %d (radix 10): %s\n", i, buffer );

   itoa( i, buffer, 16 );

   printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );

   itoa( i, buffer, 2  );

   printf( "String of integer %d (radix 2): %s\n", i, buffer );

   system("pause");

}
ϵͳ·ÖÀà: Èí¼þ¿ª·¢
Óû§·ÖÀà: ±à³Ì£­£­C£«£«
±êÇ©: ÎÞ±êÇ©
À´Ô´: ÕûÀí
·¢±íÆÀÂÛ ÔĶÁÈ«ÎÄ(518) | »Ø¸´(1)

1

¹ØÓÚͶƱ
*p++Óë*++pµÄÀàËÆÎÊÌâ

תhttp://www.it130.cn/Article/bianchengwendang/C++/2007-2-4/2007020417374110.html

¼ÙÉè
int a[10] £»p=a;
ÄÇô
*p++=1;  *++p=2;   ++*p=3;   (*p)++=4;

·Ö±ðÓ¦¸ÃÔõô°´ÕÕÓÅÏȼ¶±ðÔËË㣿
°´ÕÕÊéÉϵÄ˵·¨++ (ºóÖÃ) >++(ǰÖÃ) >* (½âÒýÓÃ) > =( µÈÓÚ)
*p++ ÊÇ·ñÓ¦¸ÃÊÇ ÏÖËã(p++) ÔÚËã* ×îºó ¸³Öµ?
ÇóËùÓеÄÕýÈ·µÄËã·¨ ºÍ½â´ð

---------------------------------------------------

1)++(ºó׺)ÊôÓÚ¡°ºó׺²Ù×÷·û¡±£¬ÆäÓÅÏȼ¶¸ßÓÚ¡°Ç°×º²Ù×÷·û¡±¡£
2)* ºÍ++(ǰ׺)¶¼ÊôÓÚ¡°Ç°×º²Ù×÷·û¡±£¬ÓÅÏȼ¶Ïàͬ£¬°´´Ó×óµ½ÓÒ½áºÏµÄ˳Ðò¡£¶¼¸ßÓÚ¸³ÖµÔËËã·û¡£

ËùÒÔ£º
1)*p++=1 Ï൱ÓÚ (*(p++)) = 1£¬Ò²¾ÍÊÇ˵++²Ù×÷ÓÚpÉÏ£¬½á¹ûΪpÔ­À´µÄÖµ£¬ÔÙ×÷*ÔËË㣬ȥ³ýÒýÓã¬ÔÙ¸³Îª1¡£×ܵÄ×÷ÓþÍÊǰÑpÒýÓõĶÔÏó¸³ÖµÎª1£¬²¢°Ñp¼Ó1¡£

2)*++p=2 Ï൱ÓÚ(*(++p)) = 2£¬Ò²¾ÍÊÇ˵++²Ù×÷ÓÚpÉÏ£¬½á¹ûΪp¼Ó1ºóµÄÖµ£¬ÔÙ×÷*ÔËË㣬ȥ³ýÒýÓã¬ÔÙ¸³ÖµÎª1¡£×ܵÄ×÷ÓþÍÊǰÑp¼Ó1£¬È»ºó¶ÔÆäÒýÓõĶÔÏó¸³ÖµÎª2¡£

3)++*p=3 Ï൱ÓÚ(++(*p)) = 3£¬Ò²¾ÍÊÇ˵ÏȶÔp×÷*ÔËËãÈ¥³ýÒýÓã¬Æä½á¹ûΪpÒýÓõĶÔÏó£¬ÔÙ°ÑÕâ¸ö¶ÔÏó+1£¬½á¹û»¹ÊÇÕâ¸ö¶ÔÏó£¬ÔÙ°ÑËü¸³ÖµÎª3¡£Õâ¸ö±í´ïʽҪÇó¶ÔÏóµÄǰ׺++²Ù×÷·ûµÄ·µ»ØÖµÎª×óÖµ¡£ (¸Ð¾õûʲôÓ𡣬Êǰɣ¿icon¶®µÃÅóÓѰイ½²£¬tianlebo)

4)(*p)++=4 ÕâÀïÓÐÒ»¸öÇ¿ÖÆÓŵȼ¶(À¨ºÅ)£¬ËüµÄ¼¶±ð×î¸ß£¬½á¹û¾ÍÊÇ((*p)++) = 4£¬Ò²¾ÍÊÇÏȶÔp×÷*ÔËËãÈ¥³ýÒýÓã¬Æä½á¹ûΪËüÒýÓõĶÔÏó£¬È»ºó¶ÔÕâ¸ö¶ÔÏó×÷ºó׺++²Ù×÷·û£¬½á¹ûΪÕâ¸ö¶ÔÏó²Ù×÷ǰµÄÖµ(Ò»°ãÊÇÒ»¸öÁÙʱ±äÁ¿)£¬È»ºó°ÑËü¸³ÖµÎª4£¬Õâ¸ö±í´ïʽҪÇó¶ÔÏóµÄºó׺++²Ù×÷·ûµÄ·µ»ØÖµÎª×óÖµ(ÕûÊýÀàÐÍÊDz»·ûºÏÒªÇóµÄ£¬Ö»¶Ô¶¨ÒåÁËÕâ¸ö²Ù×÷·ûµÄ¶ÔÏóÀàÐͲÅÓпÉÄÜ·ûºÏÒªÇó)¡£  (¸Ð¾õûʲôÓ𡣬Êǰɣ¿icon)

Õâ¸öÎÊÌâÒÔCÖкÜÄÑÊÔÑé³öÀ´£¬ÔÚC++ÖпÉÒÔÓòÙ×÷·ûÖØÔØµÄ·½·¨¿´Çå³þ(²Ù×÷·ûÖØÔØ²»»á¸Ä±äÓÅÏȼ¶)£º

#include <iostream>

class test
{
public:
  test(){}
  test(int){}
  test& operator = (const test&){std::cout<<"Assignment of test" << std::endl; return *this;}
  test& operator ++ (){std::cout << "Prefix ++ of test" << std:: endl; return * this;}
  test& operator ++ (int) {std::cout << "Suffix ++ of test" << std::endl; return *this;}
};
class testptr
{
  test Value;
public:
  testptr& operator = (const test&){std::cout<<"Assignment of testptr" << std::endl; return *this;}
  testptr& operator ++ (){std::cout << "Prefix ++ of testptr" << std:: endl; return * this;}
  testptr& operator ++ (int) {std::cout << "Suffix ++ of testptr" << std::endl; return *this;}
  test& operator *(){std::cout<< "Operator * of testptr"<<std::endl; return Value;}
};

#define TRACK(X) std::cout <<std::endl<<"*****  "<< #X << " *****" <<std::endl; X
int main()
{
    testptr p;
    TRACK(*p++=1);
    TRACK(*++p=2);
    TRACK(++*p=3);
    TRACK((*p)++=4);
    std::cin.get();
}

Êä³öΪ
*****  *p++=1 *****
Suffix ++ of testptr
Operator * of testptr
Assignment of test

*****  *++p=2 *****
Prefix ++ of testptr
Operator * of testptr
Assignment of test

*****  ++*p=3 *****
Operator * of testptr
Prefix ++ of test
Assignment of test

*****  (*p)++=4 *****
Operator * of testptr
Suffix ++ of test
Assignment of test


int p = 1;
int a = p++;
½á¹ûa=1£¬²¢²»ÊÇÒòΪºó׺++ÓÅÏȼ¶µÍ(ÎҼǵÃÓÐÒ»±¾C½Ì²Ä¾ÍÊÇÕâÑùдµÄ£¬ÕæÊÇÎóÈË×ÓµÜ)£¬¶øÊÇÓɺó׺++µÄÓïÒå¾ö¶¨µÄ¡£±ê×¼µÄºó׺++Ó¦¸ÃÊÇ¡°¶Ô²Ù×÷¶ÔÏó×ö+1²Ù×÷£¬²¢·µ»Ø²Ù×÷ǰµÄÖµ¡±£¬ËüÔÚ¸³ÖµÔËËãǰÔËËãÁË£¬µ«ËüµÄ·µ»ØÖµ²¢²»ÊÇp£¬¶øÊÇpÔÚ×ö+1ÔËËãǰµÄÖµ¡£Òò´ËÎÒÃÇ»¹¿ÉÒÔÖªµÀ£¬p++µÄ·µ»ØÖµÓ¦¸Ã²»ÊÇÒ»¸ö×óÖµ£¬p++=aÊÇÎÞ·¨±àÒëͨ¹ýµÄ¡£¶øÇ°×º++Ôò²»Ò»Ñù£¬++pµÄº¬Òå¾ÍÊÇ¡°¶Ôp×ö+1ÔËË㣬²¢·µ»Øp¡±£¬Æä·µ»ØÖµ¾ÍÊÇp±¾Éí(ÒýÓÃ)£¬ÊÇÒ»¸ö×óÖµ£¬++p = aÊÇ¿ÉÒÔ±àÒëµÄ(µ«Ã»Ê²Ã´ÒâÒå)¡£

Èç¹ûÓôúÂëÃèÊöÒ»ÏÂÕâÁ½¸ö²Ù×÷·û£¬Ó¦¸ÃÊÇÕâÑùµÄ£º

const int int::operator ++(int)//ºó׺++
{
  int temp = *this;
  *this = *this +1;
  return temp;
}

int& int::operator ++()//ǰ׺++
{
  *this = *this + 1;
  return *this;
}


²¹³ä£º
ÔÚCÖУ¬ÉÏÊöÓï¾äº¬Òå·Ö±ðÊÇ£º
*p++=1;¡¡--> temp = p + 1; *temp = 1;
*++p=2;    --> p = p +1; * p = 1;
++*p=3;    --> *p = *p + 1; *p = 3;
(*p)++=4;//Óï·¨´íÎó£¬ÎÞ·¨Ð´³ö¶ÔÓ¦µÄÓï¾ä¡£

ÓÉÓÚºó׺Ôö/¼õÁ¿²Ù×÷·ûµÄÌØÊâÐÔ£¬µ¼Ö³õѧÕߺÜÄÑÀí½â¡°ÎªÊ²Ã´ºó׺µÄ++ÓÅÏȼ¶¸ßÈ´ºó¶Ô±äÁ¿¼Ó1ÄØ£¿¡±ÊÂʵÉÏ£¬¡°ºó׺++¡±²¢²»ÊǺó¶Ô±äÁ¿¼Ó1£¬¶øÊÇÏÈ×öÁË£¬Ö»ÊÇËüµÄ·µ»ØÖµ²¢²»ÊÇÕâ¸ö±äÁ¿£¬¶øÊÇÕâ¸ö±äÁ¿¸Ä±äǰµÄÖµ¡£Èç¹û¶ÔËüºÜÄÑÀí½â£¬½¨Ò鲻ҪʹÓÃÕ⼸¸ö²Ù×÷·û£¬¶ø¸ÄÓÃÆÕͨµÄ¼Ó/¼õ·¨²Ù×÷·û£º
*p++=1;¡¡--> *p = 1; p = p + 1;
*++p=2;    --> p = p + 1; *p = 2;
++*p=3;     --> *p = *p + 1; *p = 3;
(*p)++=4;//Óï·¨´íÎó£¬ÎÞ·¨Ð´³ö¶ÔÓ¦µÄÓï¾ä¡£

ÓÉÓÚÔÚC++ÖÐÕ⼸¸ö²Ù×÷·û²»ÔÙÊÇÕûÊýºÍÖ¸ÕëÀàÐÍÌØÓе쬶øÊÇ¿ÉÒÔΪÀඨÒåµÄ£¬²¢ÇÒËüÃÇ¿ÉÒÔºÍ+/-1²Ù×÷ÓïÒ岻ͬ»ò¸ù±¾Ã»ÓмÓ/¼õ·¨²Ù×÷·û(ÈçË«Ïòµü´úÆ÷)£¬²»Äܼòµ¥µØÓüÓ/¼õ·¨´úÌæ¡£²»¹ýC++³ÌÐòÔ±ÃÇ¿ÉÒÔͨ¹ý¿´±È½ÏºÃµÄÀàµÄ²Ù×÷·ûÖØÔØº¯Êý(Èçµü´úÆ÷µÄ)´úÂëÕæÕýÃ÷°×ºó׺Ôö/¼õÁ¿²Ù×÷·ûµÄÓïÒ壬²»»áÒòΪËü¡°ÓÅÏȼ¶¸ßÈ´ºó¶Ô±äÁ¿¼Ó1¡±µÄÎÊÌâºýÍ¿¡£²»¹ý£¬½ö¹ÜÈç´Ë£¬ÎÒ»¹ÊÇÈÏΪʹÓÃÔö/¼õÁ¿²Ù×÷·ûʱ×îºÃÈÃÒ»¸ö±í´ïʽÖлòÕßûÓÐÔö/¼õÁ¿²Ù×÷·û£¬»òÕßÖ»ÓÐÒ»¸öÔö/¼õÁ¿²Ù×÷·û£¬È磺++p;*p = 1;(Ï൱ÓÚ*++p = 1)»ò*p = 1;++p;(Ï൱ÓÚ*p++=1)£¬ÕâÑùÒ²²»ÓÃÈ¥Çø·Öǰ׺ºÍºó׺µÄÇø±ðÁË¡£

ϵͳ·ÖÀà: Èí¼þ¿ª·¢
Óû§·ÖÀà: ±à³Ì£­£­C£«£«
±êÇ©: CÓïÑÔ
À´Ô´: ÎÞ·ÖÀà
·¢±íÆÀÂÛ ÔĶÁÈ«ÎÄ(558) | »Ø¸´(0)

0

¹ØÓÚͶƱ
¹ØÓÚC++Öк¯ÊýÖ¸ÕëµÄʹÓÃ(°üº¬¶ÔtypedefÓ÷¨µÄÌÖÂÛ)
ת×Ôhttp://hanxjlyr.bokee.com/
¹ØÓÚC++Öк¯ÊýÖ¸ÕëµÄʹÓÃ(°üº¬¶ÔtypedefÓ÷¨µÄÌÖÂÛ)
£¨Ò»£©¼òµ¥µÄº¯ÊýÖ¸ÕëµÄÓ¦Óá£
//ÐÎʽ1£º·µ»ØÀàÐÍ(*º¯ÊýÃû)(²ÎÊý±í)
char (*pFun)(int);
char glFun(int a){ return;}
void main()
{
    pFun = glFun;
    (*pFun)(2);
}

        µÚÒ»Ðж¨ÒåÁËÒ»¸öÖ¸Õë±äÁ¿pFun¡£Ê×ÏÈÎÒÃǸù¾ÝÇ°ÃæÌáµ½µÄ¡°ÐÎʽ1¡±ÈÏʶµ½ËüÊÇÒ»¸öÖ¸ÏòijÖÖº¯ÊýµÄÖ¸Õ룬ÕâÖÖº¯Êý²ÎÊýÊÇÒ»¸öintÐÍ£¬·µ»ØÖµÊÇcharÀàÐÍ¡£Ö»ÓеÚÒ»¾äÎÒÃÇ»¹ÎÞ·¨Ê¹ÓÃÕâ¸öÖ¸Õ룬ÒòΪÎÒÃÇ»¹Î´¶ÔËü½øÐи³Öµ¡£
        µÚ¶þÐж¨ÒåÁËÒ»¸öº¯ÊýglFun()¡£¸Ãº¯ÊýÕýºÃÊÇÒ»¸öÒÔintΪ²ÎÊý·µ»ØcharµÄº¯Êý¡£ÎÒÃÇÒª´ÓÖ¸ÕëµÄ²ã´ÎÉÏÀí½âº¯Êý¡ª¡ªº¯ÊýµÄº¯ÊýÃûʵ¼ÊÉϾÍÊÇÒ»¸öÖ¸Õ룬º¯ÊýÃûÖ¸Ïò¸Ãº¯ÊýµÄ´úÂëÔÚÄÚ´æÖеÄÊ×µØÖ·¡£
        È»ºó¾ÍÊǿɰ®µÄmain()º¯ÊýÁË£¬ËüµÄµÚÒ»¾äÄúÓ¦¸Ã¿´µÃ¶®ÁË¡ª¡ªËü½«º¯ÊýglFunµÄµØÖ·¸³Öµ¸ø±äÁ¿pFun¡£main()º¯ÊýµÄµÚ¶þ¾äÖС°*pFun¡±ÏÔÈ»ÊÇÈ¡pFunËùÖ¸ÏòµØÖ·µÄÄÚÈÝ£¬µ±È»Ò²¾ÍÊÇÈ¡³öÁ˺¯ÊýglFun()µÄÄÚÈÝ£¬È»ºó¸ø¶¨²ÎÊýΪ2¡£
£¨¶þ£©Ê¹ÓÃtypedef¸üÖ±¹Û¸ü·½±ã¡