锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久丫精品国产亚洲av,热99re久久国超精品首页,欧洲人妻丰满av无码久久不卡http://www.shnenglu.com/foobar/zh-cnSat, 12 Jul 2025 06:10:25 GMTSat, 12 Jul 2025 06:10:25 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 鍙戣〃璇勮
]]>
久久久久久久综合综合狠狠| 久久99精品久久久久久久不卡| 久久国产精品99久久久久久老狼| 国产精品毛片久久久久久久| 国产精品久久久天天影视香蕉| 久久久久久亚洲精品无码| 熟妇人妻久久中文字幕| 久久精品国产亚洲沈樵| 久久性精品| 久久精品国产亚洲av麻豆色欲| 国内精品久久久久久不卡影院| 亚洲欧美成人久久综合中文网| 久久综合给合久久狠狠狠97色69| 一本一道久久精品综合| 漂亮人妻被中出中文字幕久久| 99久久综合狠狠综合久久止| 亚洲人成网站999久久久综合| 国内精品久久久久影院免费| 一本久久知道综合久久| 欧美日韩精品久久久免费观看| 狠狠色丁香婷综合久久| 亚洲伊人久久大香线蕉综合图片| 丰满少妇人妻久久久久久4| 无码人妻久久一区二区三区免费丨| 久久精品国产精品亚洲人人 | 四虎久久影院| 久久精品一区二区三区不卡| 久久SE精品一区二区| 日韩美女18网站久久精品| 国产精品伊人久久伊人电影| 香港aa三级久久三级| 久久精品亚洲中文字幕无码麻豆| 国内精品久久久久影院亚洲| 久久人人爽人人爽人人片AV麻豆 | 91精品国产高清久久久久久91| 久久午夜羞羞影院免费观看| 日本欧美久久久久免费播放网| 亚洲午夜久久久久久久久久| 久久久久国产精品人妻| 99久久国产精品免费一区二区| 中文字幕久久波多野结衣av|