ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++±ÊÊÔÌâС¼¯ºÏ-»ªÎª(Áù)
2011-04-17 19:12:27 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:6893´Î
Tags£ºÊÔÌâ ¼¯ºÏ »ªÎª
´óÓÚËùÓгÉÔ±±äÁ¿ÀàÐÍËùÕ¼ÓõÄ×Ö½ÚÊý£¬ÄÇô½á¹¹µÄ×Ü´óС±ØÐëΪռÓÿռä×î´óµÄ±äÁ¿Õ¼ÓõĿռäÊýµÄ±¶Êý£» 
·ñÔò±ØÐëΪnµÄ±¶Êý¡£ÏÂÃæ¾ÙÀý˵Ã÷ÆäÓ÷¨¡£ 
#pragma pack(push) //±£´æ¶ÔÆë״̬ 
#pragma pack(4)//É趨Ϊ4×Ö½Ú¶ÔÆë 
struct test 

char m1; 
double m4; 
int m3; 
}; 
#pragma pack(pop)//»Ö¸´¶ÔÆë״̬ 
ÒÔÉϽṹµÄ´óСΪ16£¬ÏÂÃæ·ÖÎöÆä´æ´¢Çé¿ö£¬Ê×ÏÈΪm1·ÖÅä¿Õ¼ä£¬ÆäÆ«ÒÆÁ¿Îª0£¬Âú×ãÎÒÃÇ×Ô¼ºÉ趨µÄ¶ÔÆ뷽ʽ£¨4×Ö½Ú¶ÔÆ룩£¬m1Õ¼ÓÃ1¸ö×Ö½Ú¡£½Ó×Å¿ªÊ¼Îª m4·ÖÅä¿Õ¼ä£¬ÕâʱÆäÆ«ÒÆÁ¿Îª1£¬ÐèÒª²¹×ã3¸ö×Ö½Ú£¬ÕâÑùʹƫÒÆÁ¿Âú×ãΪn=4µÄ±¶Êý£¨ÒòΪsizeof(double)´óÓÚn£©,m4Õ¼ÓÃ8¸ö×Ö½Ú¡£½Ó×ÅΪm3·ÖÅä¿Õ¼ä£¬ÕâʱÆäÆ«ÒÆÁ¿Îª12£¬Âú×ãΪ4µÄ±¶Êý£¬m3Õ¼ÓÃ4¸ö×Ö½Ú¡£ÕâʱÒѾ­ÎªËùÓгÉÔ±±äÁ¿·ÖÅäÁ˿ռ䣬¹²·ÖÅäÁË16¸ö×Ö½Ú£¬Âú×ãΪnµÄ±¶Êý¡£Èç¹û°ÑÉÏÃæµÄ#pragma pack(4)¸ÄΪ#pragma pack(16)£¬ÄÇôÎÒÃÇ¿ÉÒԵõ½½á¹¹µÄ´óСΪ24¡££¨Çë¶ÁÕß×Ô¼º·ÖÎö£© 
2¡¢ sizeofÓ÷¨×ܽá 
ÔÚVCÖУ¬sizeofÓÐ×ÅÐí¶àµÄÓ÷¨£¬¶øÇÒºÜÈÝÒ×ÒýÆðһЩ´íÎó¡£ÏÂÃæ¸ù¾ÝsizeofºóÃæµÄ²ÎÊý¶ÔsizeofµÄÓ÷¨×ö¸ö×ܽᡣ 
A£® ²ÎÊýΪÊý¾ÝÀàÐÍ»òÕßΪһ°ã±äÁ¿¡£ÀýÈçsizeof(int),sizeof(long)µÈµÈ¡£ÕâÖÖÇé¿öҪעÒâµÄÊDz»Í¬ÏµÍ³ÏµÍ³»òÕß²»Í¬±àÒëÆ÷µÃµ½µÄ½á¹û¿ÉÄÜÊDz»Í¬µÄ¡£ÀýÈçintÀàÐÍÔÚ16λϵͳÖÐÕ¼2¸ö×Ö½Ú£¬ÔÚ32λϵͳÖÐÕ¼4¸ö×Ö½Ú¡£ 
B£® ²ÎÊýΪÊý×é»òÖ¸Õë¡£ÏÂÃæ¾ÙÀý˵Ã÷. 
int a[50]; //sizeof(a)=4*50=200; ÇóÊý×éËùÕ¼µÄ¿Õ¼ä´óС 
int *a=new int[50];// sizeof(a)=4; aΪһ¸öÖ¸Õ룬sizeof(a)ÊÇÇóÖ¸Õë 
//µÄ´óС,ÔÚ32λϵͳÖУ¬µ±È»ÊÇÕ¼4¸ö×Ö½Ú¡£ 
C£® ²ÎÊýΪ½á¹¹»òÀà¡£SizeofÓ¦ÓÃÔÚÀàºÍ½á¹¹µÄ´¦ÀíÇé¿öÊÇÏàͬµÄ¡£µ«ÓÐÁ½µãÐèҪעÒ⣬µÚÒ»¡¢½á¹¹»òÕßÀàÖеľ²Ì¬³ÉÔ±²»¶Ô½á¹¹»òÕßÀàµÄ´óС²úÉúÓ°Ï죬ÒòΪ¾²Ì¬±äÁ¿µÄ´æ´¢Î»ÖÃÓë½á¹¹»òÕßÀàµÄʵÀýµØÖ·Î޹ء£ 
µÚ¶þ¡¢Ã»ÓгÉÔ±±äÁ¿µÄ½á¹¹»òÀàµÄ´óСΪ1£¬ÒòΪ±ØÐë±£Ö¤½á¹¹»òÀàµÄÿһ 
¸öʵÀýÔÚÄÚ´æÖж¼ÓÐΨһµÄµØÖ·¡£ 
ÏÂÃæ¾ÙÀý˵Ã÷£¬ 
Class Test{int a;static double c};//sizeof(Test)=4. 
Test *s;//sizeof(s)=4,sΪһ¸öÖ¸Õë¡£ 
Class test1{ };//sizeof(test1)=1; 
D£® ²ÎÊýΪÆäËû¡£ÏÂÃæ¾ÙÀý˵Ã÷¡£ 
int func(char s[5]); 

cout<//ÊýµÄ²ÎÊýÔÚ´«µÝµÄʱºòϵͳ´¦ÀíΪһ¸öÖ¸Õ룬Ëù 
//ÒÔsizeof(s)ʵ¼ÊÉÏΪÇóÖ¸ÕëµÄ´óС¡£ 
return 1; 

sizeof(func("1234"))=4//ÒòΪfuncµÄ·µ»ØÀàÐÍΪint£¬ËùÒÔÏ൱ÓÚ 
//Çósizeof(int). 
ÒÔÉÏΪsizeofµÄ»ù±¾Ó÷¨£¬ÔÚʵ¼ÊµÄʹÓÃÖÐҪעÒâ·ÖÎöVCµÄ·ÖÅä±äÁ¿µÄ·ÖÅä²ßÂÔ£¬ÕâÑùµÄ»°¿ÉÒÔ±ÜÃâһЩ´íÎó¡£ 
--------------------------------------------------------------------------
25.i×îºóµÈÓÚ¶àÉÙ
int i = 1;
int j = i++;
if((i>j++) && (i++ == j)) i+=j;
´ð:
i = 5
--------------------------------------------------------------------------
26.
unsigned short array[]={1,2,3,4,5,6,7};
int i = 3;
*(array + i) =
´ð:
4
--------------------------------------------------------------------------
27.
class A
{
virtual void func1()£»
void func2();
}
Class B: class A
{
void func1(){cout << "fun1 in class B" << endl;}
virtual void func2(){cout << "fun2 in class B" << endl;}

A, AÖеÄfunc1ºÍBÖеÄfunc2¶¼ÊÇÐ麯Êý.
B, AÖеÄfunc1ºÍBÖеÄfunc2¶¼²»ÊÇÐ麯Êý.
C, AÖеÄfunc2ÊÇÐ麯Êý.£¬BÖеÄfunc1²»ÊÇÐ麯Êý.
D, AÖеÄfunc2²»ÊÇÐ麯Êý£¬BÖеÄfunc1ÊÇÐ麯Êý.
´ð:
A
--------------------------------------------------------------------------
28.
Êý¾Ý¿â£º³é³ö²¿ÃÅ£¬Æ½¾ù¹¤×Ê£¬ÒªÇó°´²¿ÃŵÄ×Ö·û´®Ë³ÐòÅÅÐò£¬²»Äܺ¬ÓÐ"human resource"²¿ÃÅ£¬
employee½á¹¹ÈçÏ£ºemployee_id, employee_name, depart_id,depart_name,wage
´ð:
select depart_name, avg(wage)
from employee
where depart_name <> 'human resource'
group by depart_name
order by depart_name
--------------------------------------------------------------------------
29.
¸ø¶¨ÈçÏÂSQLÊý¾Ý¿â£ºTest(num INT(4)) ÇëÓÃÒ»ÌõSQLÓï¾ä·µ»ØnumµÄ×îСֵ£¬µ«²»ÐíʹÓÃͳ¼Æ¹¦ÄÜ£¬ÈçMIN£¬MAXµÈ
´ð:
select top 1 num
from Test
order by num desc
--------------------------------------------------------------------------
30.
Êä³öÏÂÃæ³ÌÐò½á¹û¡£ 
#include 
class A 

public:
virtual void print(void) 

cout<<"A::print()"<} 
};
class B:public A 

public:
virtual void print(void) 

cout<<"B::print()"<}; 
}; 
class C:public B
{
public:
virtual void print(void)
{
cout<<"C::print()"<}
};
void print(A a) 
{&nbs
Ê×Ò³ ÉÏÒ»Ò³ 3 4 5 6 7 ÏÂÒ»Ò³ βҳ 6/7/7
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºC++ÃæÊÔÎÊÌâ-»ªÎª ÏÂһƪ£ºC++±ÊÊÔÊÔÌâ-»ªÎª

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿