您好,欢迎光临本网站![请登录][注册会员]  

搜索资源列表

  1. Java对象的生命周期

  2. 要理解java对象的生命周期,我们需要要明白两个问题,   1、java是怎么分配内存的 ,2、java是怎么回收内存的。   喜欢java的人,往往因为它的内存自动管理机制,不喜欢java的人,往往也是因为它的内存自动管理。我属于前者,这几年的coding经验让我认识到,要写好java程序,理解java的内存管理机制是多么的重要。任何语言,内存管理无外乎分配和回收,在C中我们可以用malloc动态申请内存,调用free释放申请的内存;在C++中,我们可以用new操作符在堆中动态申请内存
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:123904
    • 提供者:weixin_38717171
  1. C++接口定义及实现举例

  2. 一、接口的定义   有时候,我们得提供一些接口给别人使用。接口的作用,是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供给外部的接口来与你进行通信。根据c++的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,大家一看应该能够明白) Class IPerson { public: IPerson(){}; virtual ~IPerson()=0;//注意,好要定义此虚析
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:39936
    • 提供者:weixin_38731226
  1. C++new和delete详细解析

  2. C++中的new 和delete 是操作符,new 分配对象时候会自动调用构造函数,delete对象时候,会自动调用析构函数,而C语言中 malloc() 和 free() 是函数。 理论上malloc free 和 new 、delete 可以混搭用,但是好不要这样用,也不能保证程序正确运行。   C++中new 和delete的语法格式如下: #include "stdlib.h" #include "stdio.h" #include "string.h" #includ
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:98304
    • 提供者:weixin_38619467
  1. C++异常处理知识

  2. 1、异常发生时,异常对象会沿函数调用栈的反方向抛出,这个过程常称为栈展开。   2、在栈展开过程中,如果异常对象始终都没遇到可行的catch处理块,系统将调用terminate函数强制终止程序。当然如果连try块都没有,系统将直接调用terminate函数。   3、在栈展开过程中,编译器保证适当的撤销局部对象。每个函数在栈展开退出时,它的局部存储会释放,如果局部对象是类类型,则自动调用对象的析构函数。   4、析构函数应该从不抛出异常,因为析构函数都是自动调用的,不会自动加上try
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:80896
    • 提供者:weixin_38733525
  1. 一个例子记住C++对象的生存周期

  2. 近要考C++,复习过程中遇到一些问题,总结记录一下。文中代码均在ideone在线编译器中运行的。   代码   代码说明:   类A,含构造函数和析构函数   普通函数fun,函数体里新建了类A的局部自动对象FunObj和局部静态对象InStaObj   main方法新建了类A的局部自动对象MainObj,调用fun方法   外面新建了A的的外部静态对象ExStaObj和外部对象GblObj #include #include using namespace std; c
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:81920
    • 提供者:weixin_38664427
  1. 用C++编写不能被继承的类

  2. 一、分析   在Java中定义了关键字final,被final修饰的类不能被继承。但在C++中没有final这个关键字。   首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。   可是这个类的构造函数和析构函数都是私有函数了,我们怎样才能得到该类的实例呢?  
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:43008
    • 提供者:weixin_38727980
  1. 控制C++的内存分配

  2. 在嵌入式系统中使用C++的一个常见问题是内存分配,即对new 和 delete 操作符的失控。   具有讽刺意味的是,问题的根源却是C++对内存的管理非常的容易而且安全。具体地说,当一个对象被消除时,它的析构函数能够安全的释放所分配的内存。   这当然是个好事情,但是这种使用的简单性使得程序员们过度使用new 和 delete,而不注意在嵌入式C++环境中的因果关系。并且,在嵌入式系统中,由于内存的限制,频繁的动态分配不定大小的内存会引起很大的问题以及堆破碎的风险。   作为忠告,保守的使
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:51200
    • 提供者:weixin_38727087
  1. C++编译器帮我们做了些什么

  2. 我们平时编写代码都是使用的集成开发工具,很多时候都忽略了c++中隐藏的成员函数。具体来说,c++编译器会自动提供一下几个基本函数:   ●默认构造函数,如果没有定义构造函数   ●复制构造函数,如果没有定义   ●析构函数,如果没有定义   ●赋值操作符,如果没有定义   ●地址操作符 class Stack { private: char *str; public: Stack(); //默认构造函数 ~Stack();//析构函数 Stack (const Stac
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:66560
    • 提供者:weixin_38588520
  1. C++基础知识??类的复制控制

  2. 引:一道经常见到的面试题 ,已知类String的原型为: class String { public:      String(const char *str = NULL);// 普通构造函数      String(const String &other);    // 复制构造函数      ~ String(void);    // 析构函数      String & operate =(const String &other);// 重载赋值操作符 private:
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:56320
    • 提供者:weixin_38723236
  1. C++之继承和动态内存分配

  2. 如果基类使用动态内存分配,并重新定义赋值和复制构造函数,这将如何影响派生类的实现呢?这取决于派生类的属性,如果派生类也使用动态内存分配,这将如何实现呢?这种大致分为两种情况,   第一种情况:派生类不使用new   这将不需要在派生类中显式的定义析构函数,复制构造函数,赋值操作符。如果在派生类中没有定义析构函数,编译器将定义一个不执行任何操作的默认构造函数,实际上,派生类的默认构造函数总要进行一些操作:执行自身的代码后调用基类析构函数。因为派生类没有任何特殊操作,所以使用默认析构函数是合适的
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:40960
    • 提供者:weixin_38668335
  1. Python中面向对象之类

  2. Python中面向对象之类类的构造函数类成员与实例成员类的公有成员和私有成员类的私有成员和受保护成员 类的构造函数 Python中用def__init__(self,[])方法来定义构造函数,主要用来在创建对象时初始化对象 Python中用def__del__()方法定义析构函数 1. 构造函数案例 class complex: def __init__(self,real,imag): #此处要记得写参数self self.r
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:38912
    • 提供者:weixin_38653664
  1. 使用C++实现迷宫游戏

  2. 迷宫游戏就是玩家在地图中移动,移动至终点则游戏结束。 自己用文本文档手打了个小地图,0表示空白,1表示墙,文件名随意,我改成了map.MapData。然后程序里定义一个全局变量char Map[MapLenX][MapLenY];(长宽自定义)行为X,列为Y。定义char型常量RoadSymbol = ‘0’, WallSymbol = ‘1’, PlayerSymbol = ‘+’。 本游戏为面向对象编写的,所以就要设计一个类。数据需要一个坐标和一个bool型储存是否到达终点。所以自定义了个结
  3. 所属分类:其它

    • 发布日期:2020-12-20
    • 文件大小:55296
    • 提供者:weixin_38664532
  1. PHP之十六个魔术方法详细介绍

  2. PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括: __construct(),类的构造函数 __destruct(),类的析构函数 __call(),在对象中调用一个不可访问方法时调用 __callStatic(),用静态方式中调用一个不可访问方法时调用 __get(),获得一个类的成员变量时调用 __set(),设置一个类的成员变量时调用 __isset(),当对不可访问属性调
  3. 所属分类:其它

    • 发布日期:2020-12-19
    • 文件大小:140288
    • 提供者:weixin_38623819
  1. 详解php魔术方法(Magic methods)的使用方法

  2. PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括: __construct(),类的构造函数 __destruct(),类的析构函数 __call(),在对象中调用一个不可访问方法时调用 __callStatic(),用静态方式中调用一个不可访问方法时调用 __get(),获得一个类的成员变量时调用 __set(),设置一个类的成员变量时调用 __isset(),当对不可访问属性调用isset()或empty()
  3. 所属分类:其它

    • 发布日期:2020-12-19
    • 文件大小:62464
    • 提供者:weixin_38668274
  1. 深入解析C#编程中struct所定义的结构

  2. 结构是使用 struct 关键字定义的,例如: public struct PostalAddress { // Fields, properties, methods and events go here... } 结构与类共享大多数相同的语法,但结构比类受到的限制更多: 在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。 结构不能声明默认构造函数(没有参数的构造函数)或析构函数。 结构在赋值时进行复制。将结构赋值给新变量时,将复制所有数据,并且对
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:63488
    • 提供者:weixin_38518376
  1. C#中标准的IDispose模式代码详解

  2. C#实现IDispose接口 .net的GC机制有两个问题:首先GC并不能释放所有资源,它更不能释放非托管资源。其次,GC也不是实时的,所有GC存在不确定性。 为了解决这个问题donet提供了析构函数 public class TestClass : System.IDisposable { //供程序员显式调用的Dispose方法 public void Dispose() { //调用带参数的Dispose方法,释放托管和非托管资源 Dispose(true
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:67584
    • 提供者:weixin_38657139
  1. 总结c++性能优化策略

  2. 1 关于继承:不可否认良好的抽象设计可以让程序更清晰,代码更看起来更好,但是她也是有损失的,在继承体系中子类的创建会调用父类的构造函数,销毁时会调用父类的析构函数,这种消耗会随着继承的深度直线上升,所以不要过度的抽象和继承。 2 对象的复合:对象的复合和继承很相似,当一个对象包含其他对象构造时也会引起额外的构造。关于这点可能会有很多人不解,认为这是不可避免的,举个例子,你的一个对象中用到数组和字符串,你是选择string和vector还是char* 和c系的数组呢,如果没有用到c++stl库提供
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:73728
    • 提供者:weixin_38502290
  1. 基于C#中IDisposable与IEnumerable、IEnumerator的应用

  2. C#中如何合理的释放非托管内存?在本文中我们将讲解使用IDisposable释放托管内存和非托管内存。   A.首先需要让类实现IDisposable接口,然后实现IDispose方法。     A.a核心Disponse(bool isDisponse)       1.此方法首先判断isReadyDisposed(判断是否第一次调用此核心方法),如果不是第一次调用则不做任何操作。       2.再判断是否是析构函数调用?如果是析构函数调用不释放托管资源,其交由GC进行释放,如果析构函数释放
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:54272
    • 提供者:weixin_38747144
  1. C++设计类不能被继承的方法实例讲解

  2. 首先想到的是在C++中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。 可是这个类的构造函数和析构函数都是私有函数了,怎样才能得到该类的实例呢?可以通过定义静态来创建和释放类的实例。基于这个思路,可以写出如下的代码: 代码如下://///////////////////////////////////
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:47104
    • 提供者:weixin_38505158
  1. c++编写String类代码实例

  2. 本文实例为大家分享了c++编写String类的具体代码,供大家参考,具体内容如下 class String { public: String(const char* = nullptr); //普通构造函数 String(const String& other); //拷贝构造函数 ~String(void); //析构函数 String& operator = (const String& other); //赋值函数 private: char* m_data;
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:49152
    • 提供者:weixin_38726193
« 1 2 ... 45 46 47 48 49 50»