收藏此站 联系我们 网站
当前位置:首页» 网站推广 » 【建站服务】成都爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广-域名申请

【建站服务】成都爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广-域名申请

作者: 风兰 . 阅读量: 3 . 发表时间:2022-09-21 02:14:26

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


成都爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广

网站建设.png


      printf("%d %d ",q->num,q->data);

        q=q->next;

    }

    

    //释放内存


    q=head;

    p=q;

    while(q->next!=NULL)

    {

        p=q->next;

        delete []q;

        q = p;  

    }

    return 0;

}

->: 用指针访问结构体内的变量。


在链表中插入、删除节点也很简单, 先给next赋下一个节点地址,再加数据即可。


小高Carl

   小高Carl


  gao***qicarl1@163.com


5年前 (2017-11-21)

   ぁ佌応妚弐☞


  321***525@qq.com


   参考地址


72

new 和 malloc 内部的实现方式有什么区别?


new 的功能是在堆区新建一个对象,并返回该对象的指针。


所谓的【新建对象】的意思就是,将调用该类的构造函数,因为如果不构造的话,就不能称之为一个对象。


而 malloc 只是机械的分配一块内存,如果用 mallco 在堆区创建一个对象的话,是不会调用构造函数的。


严格说来用 malloc 不能算是新建了一个对象,只能说是分配了一块与该类对象匹配的内存而已,然后强行把它解释为【这是一个对象】,按这个逻辑来,也不存在构造函数什么事。


同样的,用 delete 去释放一个堆区的对象,会调用该对象的析构函数。


用 free 去释放一个堆区的对象,不会调用该对象的析构函数。


做个简单的实验即可明了:


#include <iostream>

#include <malloc.h>


class TEST

{

private:

    int num1;

    int num2;

public:

    TEST()

    {

        num1 = 10;

        num2 = 20;

    }

    void Print()

    {

        std::cout << num1 << " " << num2 << std::endl;

    }

};


int main(void)

{

    // 用malloc()函数在堆区分配一块内存空间,然后用强制类型转换将该块内存空间

    // 解释为是一个TEST类对象,这不会调用TEST的默认构造函数

    TEST * pObj1 = (TEST *)malloc(sizeof(TEST));

    pObj1->Print();


    // 用new在堆区创建一个TEST类的对象,这会调用TEST类的默认构造函数

    TEST * pObj2 = new TEST;

    pObj2->Print();


    return 0;

}

/*

运行结果:


-----------------------------

-842150451 -842150451       |

10 20                       |

请按任意键继续. . .         |

-----------------------------


我们可以看到pObj1所指的对象中,字段num1与num2都是垃圾值

而pObj2所指的对象中,字段num1与num2显然是经过了构造后的值

*/

ぁ佌応妚弐☞

   ぁ佌応妚弐☞


  321***525@qq.com


   参考地址


4年前 (2018-04-25)

   lclz


  610***253@qq.com


17

第二个笔记,思路是好的,但是错误的。这种写法最后会是一个 data 为 0 的结点,但遍历和析构时用 data 为 0 判断结束而导致缺少对 data 为 0 结点的操作,改正如下:


#include<iostream>

using namespace std;


struct node

{

    //链表的节点

    int data;//数据

    int num;//节点编号

    struct node *next;//指向下一个节点

};


int main()

{

    struct node *head/*头节点*/, *p, *q;

    head = NULL;

    p = NULL;

    q = new node;

    q->next = NULL;

    q->num = 1;

    int a = -1;

    cout << "请输入第1个数字:";

    cin >> a;

    q->data = a;

    head = q;

    while (a != 0)

    {

        p = q;

        q = new node;

        q->next = NULL;

        p->next = q;

        q->num = p->num + 1;

        cout << "请输入第" << q->num << "个数字:";

        cin >> a;

        q->data = a;

    }


    //前面都是输入,这以下都是输出


    q = head;

    p = NULL;

    while (1)

    {

        printf("%d %d ", q->num, q->data);

        if (q->data == 0)

            break;

        q = q->next;

    }


    //释放内存


    q = head;

    p = q;

    while (1)

    {

        p = q->next;

        delete[]q;

        q = p;

        if (!q)

            break;

    }

    return 0;



成都爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务