当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 原作者:Zeeshan Amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_.asp 介绍 在本系列的教程中,我要讨论一些ATL的内部工作方式以及它所使用的技术。
 

 

    摘要:客户端源码分析之四:piecepicker 类 作者:小马哥 日期:2004-7-2 rstevens at hotmail.com 版权所有,未经允许,不得转载 piecepicker 用于实现“片断选择算法”,片断选择算法在《incentives build robustness in bittorrent》一文中有介绍,我把相关内容列出来。 bt的片断选择算法,综合下面几种策略。 l 严格的......
    摘要: 成员函数指针与高性能的c++委托(上篇) member function pointers and the fastest possible c++ delegates 撰文:don clugston 翻译:周翔 引子 标准c++中没有真正的面向对象的函数指针。这一点对c++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它......


ATL布幔之下的秘密(1)

原作者:zeeshan amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_.asp

  在讨论的开始,让我们先看看一个程序的内存分布.首先,编写一个简单的程序,它没有任何的数据成员,你可以看看它的内存结构.程序1.#include <iostream>using namespace std; 【程序编程相关:如何定制struts以适应自己的需求

介绍  在本系列的教程中,我要讨论一些atl的内部工作方式以及它所使用的技术. 【推荐阅读:我的EJB学习历程(六)

int main() {  class objclass;  cout << "size of object is = " << sizeof(objclass) << endl;  cout << "address of object is = " << &objclass << endl;  return 0;}  这个程序的输出为:size of object is = 1address of object is = 0012ff7c  现在,如果我们向类中添加一些数据成员,那么这个类的大小就会是各个成员的大小之与.对于模板,也依然是这样:程序2.#include <iostream>using namespace std; 【扩展信息:如何在工具栏中,加上图标和文字?(How

class class {};

template <typename t>class cpoint {public:  t m_x;  t m_y;};

int main() {  cpoint<int> objpoint;  cout << "size of object is = " << sizeof(objpoint) << endl;  cout << "address of object is = " << &objpoint << endl;  return 0;}  现在程序的输出为:size of object is = 8address of object is = 0012ff78  那么,再向程序中添加继承.现在我们使point3d类继承自point类,然后来看看程序的内存结构:程序3.#include <iostream>using namespace std;

template <typename t>class cpoint {public:  t m_x;  t m_y;};

template <typename t>class cpoint3d : public cpoint<t> {public:  t m_z;};

int main() {  cpoint<int> objpoint;  cout << "size of object point is = " << sizeof(objpoint) << endl;  cout << "address of object point is = " << &objpoint << endl;

  cpoint3d<int> objpoint3d;  cout << "size of object point3d is = " << sizeof(objpoint3d) << endl;  cout << "address of object point3d is = " << &objpoint3d << endl;

  return 0;}  程序的输出为:size of object point is = 8address of object point is = 0012ff78size of object point3d is = 12address of object point3d is = 0012ff6c  这一程序演示了派生类的内存结构,它表明派生类的对象所占据的内存为它本身的数据成员与它基类的成员之与.  当虚函数加入到这个派对中的时候,一切就变得都有意思了.请看下面的程序:程序4.#include <iostream>using namespace std;


...   下一页
 ·为什么flush不生效?    »显示摘要«
    摘要:老早就看了这篇文章: 类似socket传输的flush() 非常简单的代码,却总是不能在我的服务器上正常运行,如下:代码片段: for($i = 1; $i 500; $i++)print " ";????ob_implicit_flush();????for($j = 1; $j 30; $j++) {????echo $j."";????sleep(1)......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE