当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: GotW#25 auto_ptr 难度:8/10
 

 

 ·directx 图形接口指南(3)    »显示摘要«
    摘要: 指南二:演示顶点(render vertex) microsoft direct3d 写的应用程序使用顶点(vertex)构造几何物体。每一个三维空间 (3d) 场景包括一个或几个这样的几何物体。vertices 例程构造简单的物体,一个三角形,并且将它绘制到显示屏上。 本指南说明如何采用以下步骤从顶点构造一个三角形: ·第一步:定义一个自定义顶点类型 ·第二步:设......
 ·directx 图形接口指南(5)    »显示摘要«
    摘要: 指南四:创建和使用光源 microsoft direc3d 光照系统给 3-d 物体提供更多的真实性。当使用它时,每个场景中的几何对象将被照亮,基于它们的位置和使用的光源类型。这个指南的例程将介绍关于光照和材质的主题。 本指南包含以下步骤用于创建材质与光照: ·第一步:创始化场景几何 ·第二步:设置材置与光照 注意:lights 示例程序的路径为: (sdk r......


Guru of the Week 条款25:autoptr
gotw#25 auto_ptr

问题 【程序编程相关:http://www.myfaq.com

难度:8/10 【推荐阅读:属性表及属性页问题集

auto_ptr<t> source() { return new t(1); } 【扩展信息:使用位图菜单项——位图菜单项实例

考虑下面的代码:那些是好的,那些是安全的,那些是合法的, 那些是非法的?

    void sink( auto_ptr<t> pt ) { }

    void f() {

        auto_ptr<t> a( source() );

        sink( source() );

        sink( auto_ptr<t>( new t(1) ) );

        vector< auto_ptr<t> > v;

        v.push_back( new t(3) );

        v.push_back( new t(4) );

        v.push_back( new t(1) );

        v.push_back( a );

        v.push_back( new t(2) );

        sort( v.begin(), v.end() );

        cout << a->value();

    }

    class c {

    public:    /*...*/

    protected: /*...*/

    private:

        auto_ptr<cimpl> pimpl_;

    };

答案

考虑下面的代码:那些是好的,那些是安全的,那些是合法的, 那些是非法的?

标准更新:这周〖这篇gotw发布的那一周〗,在wg21/j16于morristown nj usa的会议上,c++语言的最终草案投票表决通过.我们期待在下次会议上(nice, march 1998)它是否能通过并成为一个iso正式标准.

在jersey的会议上,auto_ptr被精化以满足委员会的要求.
...   下一页
 ·directx 图形接口指南(6)    »显示摘要«
    摘要: 指南五:使用纹理映射 尽管光照和材质大大增加了场景的真实感,但没有比在表面上添加纹理更能增加真实感的了。纹理能够被想象为一层紧紧包装在表面的贴纸。你能在一个立方体上放置一层木质纹理使它看起来就象用木头制成的一样。本 texture 例程将在 指南四:创建和使用光照 中构造的圆柱上添加一幅类似香蕉的纹理。此指南介绍的内容包括如何载入纹理,设置纹理,与呈递带有纹理的物体。 本指南......
» 本期热门文章:

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