锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日本道色综合久久影院,久久伊人精品一区二区三区,91精品国产色综久久http://www.shnenglu.com/foobar/zh-cnWed, 07 May 2025 18:42:08 GMTWed, 07 May 2025 18:42:08 GMT60Advanced Test in C: The 0x10 Best Questions for C Programmers http://www.shnenglu.com/foobar/archive/2007/12/03/37683.htmlfoobarfoobarMon, 03 Dec 2007 07:12:00 GMThttp://www.shnenglu.com/foobar/archive/2007/12/03/37683.htmlhttp://www.shnenglu.com/foobar/comments/37683.htmlhttp://www.shnenglu.com/foobar/archive/2007/12/03/37683.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/37683.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/37683.htmlAdvanced Test in C: The 0x10 Best Questions for C Programmers


foobar 2007-12-03 15:12 鍙戣〃璇勮
]]>
闅愯棌http://www.shnenglu.com/foobar/archive/2007/11/23/37221.htmlfoobarfoobarFri, 23 Nov 2007 12:44:00 GMThttp://www.shnenglu.com/foobar/archive/2007/11/23/37221.htmlhttp://www.shnenglu.com/foobar/comments/37221.htmlhttp://www.shnenglu.com/foobar/archive/2007/11/23/37221.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/37221.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/37221.html 

#include <iostream.h>
class Base
{
public:
virtual void f(float x){ cout << "Base::f(float) " << x << endl; }
void g(float x){ cout << "Base::g(float) " << x << endl; }
void h(float x){ cout << "Base::h(float) " << x << endl; }
};
class Derived : public Base
{
public:
virtual void f(float x){ cout << "Derived::f(float) " << x << endl; }
void g(int x){ cout << "Derived::g(int) " << x << endl; }
void h(float x){ cout << "Derived::h(float) " << x << endl; }
};

void main(void)
{
Derived d;
Base 
*pb = &d;
Derived 
*pd = &d;
// Good : behavior depends solely on type of the object
pb->f(3.14f); // Derived::f(float) 3.14
pd->f(3.14f); // Derived::f(float) 3.14
// Bad : behavior depends on type of the pointer
pb->g(3.14f); // Base::g(float) 3.14
pd->g(3.14f); // Derived::g(int) 3 (surprise!)
// Bad : behavior depends on type of the pointer
pb->h(3.14f); // Base::h(float) 3.14 (surprise!)
pd->h(3.14f); // Derived::h(float) 3.14
}

class Base
{
public:
void f(int x);
};
class Derived : public Base
{
public:
void f(char *str);
};
void Test(void)
{
Derived 
*pd = new Derived;
pd
->f(10); // error
//why?            
just imagine multiple inheritance
}


foobar 2007-11-23 20:44 鍙戣〃璇勮
]]>
闅愬紡綾誨瀷杞崲瀵艱嚧閲嶈澆鍑芥暟浜х敓浜屼箟鎬?/title><link>http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html</link><dc:creator>foobar</dc:creator><author>foobar</author><pubDate>Fri, 23 Nov 2007 12:35:00 GMT</pubDate><guid>http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html</guid><wfw:comment>http://www.shnenglu.com/foobar/comments/37220.html</wfw:comment><comments>http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/foobar/comments/commentRss/37220.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/foobar/services/trackbacks/37220.html</trackback:ping><description><![CDATA[<p> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000"># include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鍑芥暟澹版槑</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #008000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000"> x); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鍑芥暟澹版槑</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #008000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">{<br></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">cout </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> output int </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> endl ;<br></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">}<br></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000"> x)<br></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">cout </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> output float </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> endl ;<br></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000"> y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">output(x); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output int 1</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">17</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(y); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output float 1</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">18</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output int 1<br></span><span style="COLOR: #008080">19</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output(0.5); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> error! ambiguous call, 鍥犱負鑷姩綾誨瀷杞崲</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">20</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">)); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output int 0</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">21</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">)); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output float 0.5</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">22</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">}</span></div> <img src ="http://www.shnenglu.com/foobar/aggbug/37220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/foobar/" target="_blank">foobar</a> 2007-11-23 20:35 <a href="http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁扮粍閫鍖栦負鎸囬拡http://www.shnenglu.com/foobar/archive/2007/11/23/37218.htmlfoobarfoobarFri, 23 Nov 2007 12:22:00 GMThttp://www.shnenglu.com/foobar/archive/2007/11/23/37218.htmlhttp://www.shnenglu.com/foobar/comments/37218.htmlhttp://www.shnenglu.com/foobar/archive/2007/11/23/37218.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/37218.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/37218.html{
cout<< sizeof(a) << endl; // 4 瀛楄妭鑰屼笉鏄?00 瀛楄妭
}

foobar 2007-11-23 20:22 鍙戣〃璇勮
]]>
atexit -- function to be executed on exithttp://www.shnenglu.com/foobar/archive/2007/11/15/36729.htmlfoobarfoobarThu, 15 Nov 2007 15:47:00 GMThttp://www.shnenglu.com/foobar/archive/2007/11/15/36729.htmlhttp://www.shnenglu.com/foobar/comments/36729.htmlhttp://www.shnenglu.com/foobar/archive/2007/11/15/36729.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/36729.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/36729.html
int atexit ( void ( * function ) (void) );               <cstdlib>

 The function pointed by the function pointer argument is called when the program terminates normally.

If more than one atexit function has been specified by different calls to this function, they are all executed in reverse order as a stack, i.e. the last function specified is the first to be executed at exit.

One single function can be registered to be executed at exit more than once.

C++ implementations are required to support the registration of at least 32 atexit functions.

Parameters

function
Function to be called. The function has to return no value and accept no arguments.

Return Value

A zero value is returned if the function was successfully registered, or a non-zero value if it failed.

Example

/* atexit example */
            #include <stdio.h>
            #include <stdlib.h>
            void fnExit1 (void)
            {
            puts ("Exit function 1.");
            }
            void fnExit2 (void)
            {
            puts ("Exit function 2.");
            }
            int main ()
            {
            atexit (fnExit1);
            atexit (fnExit2);
            puts ("Main function.");
            return 0;
            }
            

Output:

            Main function.
Exit function 2.
Exit function 1.



foobar 2007-11-15 23:47 鍙戣〃璇勮
]]>
Gotchas in the C++ programing languagehttp://www.shnenglu.com/foobar/archive/2007/06/04/25442.htmlfoobarfoobarMon, 04 Jun 2007 03:11:00 GMThttp://www.shnenglu.com/foobar/archive/2007/06/04/25442.htmlhttp://www.shnenglu.com/foobar/comments/25442.htmlhttp://www.shnenglu.com/foobar/archive/2007/06/04/25442.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/25442.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/25442.htmlInitializer lists

In C++, it is the order of the class inheritance and of the member variables that determine the initialization order, not the order of an initializer list:



#include 
<iostream>

class CSomeClass
{
public:
CSomeClass(
int n)
{
std::cout 
<< "CSomeClass constructor with value ";
std::cout 
<< n << std::endl;
}

}
;

class CSomeOtherClass
{
public:
CSomeOtherClass() 
//In this example, despite the list order,
: obj2(2), obj1(1//obj1 will be initialized before obj2.
{
//Do nothing.
}

private:
CSomeClass obj1;
CSomeClass obj2;
}
;

int main(void)
{
CSomeOtherClass obj;
return 0;
}



foobar 2007-06-04 11:11 鍙戣〃璇勮
]]>
亚洲欧美久久久久9999| 久久婷婷国产综合精品 | 日本WV一本一道久久香蕉| 日韩欧美亚洲综合久久| 97久久超碰国产精品2021| 久久综合狠狠综合久久97色| 囯产精品久久久久久久久蜜桃| 久久久久国产一级毛片高清版| 亚洲精品tv久久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久91精品综合国产首页| 国产亚洲精久久久久久无码77777| 国产精品久久精品| 久久精品国产亚洲AV影院| 国产精品gz久久久| 国产精品女同久久久久电影院| 午夜精品久久影院蜜桃| 91麻豆精品国产91久久久久久| 亚洲AV无码久久精品成人| 久久只这里是精品66| 久久精品中文字幕第23页| 久久99中文字幕久久| 麻豆成人久久精品二区三区免费| 精品国产乱码久久久久软件| 精品久久久久久无码人妻蜜桃| 久久国产乱子伦免费精品| 无码精品久久久天天影视| 97视频久久久| 精品多毛少妇人妻AV免费久久| 亚洲精品成人网久久久久久| 欧美日韩中文字幕久久久不卡 | 无遮挡粉嫩小泬久久久久久久| 亚洲色欲久久久久综合网| 免费一级做a爰片久久毛片潮| 久久人人爽人人爽人人片AV东京热| 精品午夜久久福利大片| 久久午夜电影网| 精品无码久久久久久国产| 久久99精品久久久久久9蜜桃 | 久久精品国产99国产电影网| 99久久精品费精品国产一区二区|