美文网首页
【总结】张雪峰大一的时候应该教的东西

【总结】张雪峰大一的时候应该教的东西

作者: 游学者夏纳 | 来源:发表于2020-06-28 20:45 被阅读0次

添加部分注释 2020/6/29 by xana


回答下面输出的结果:

// C++ define
struct Foo
{
    Foo(int32_t a){ i32 = a; }
    int32_t i32;
    int16_t i16;
    int8_t _pad[2];
};

void* FactoryStack(int32_t b)
{
    Foo f(b);
    return (void*)&f;
}

void* FactoryHeap(int32_t b)
{
    Foo *pp = new Foo(b);
    return (void*)pp;
}

// Question1 作用域的GC
void main()
{
    void *p = nullptr;
    if (true)
    {
        Foo f(114);
        p = (void*)&f;
    }
    cout << p << "---" << ((Foo *)p)->i32 << endl;
    system("pause");
}
// Question2 作用域的GC
void main()
{
    void *p = nullptr;
    p = FactoryStack(114);
    cout << p << "---" << ((Foo *)p)->i32 << endl;
    system("pause");
}
// Question3 作用域的GC
void main()
{
    void *p = nullptr;
    p = FactoryHeap(114);
    cout << p << "---" << ((Foo *)p)->i32 << endl;
    system("pause");
}
// Question4 本质上是函数的理解
void main()
{
    void *p = nullptr;
    ([](void *pp)
    {
        Foo f(114);
        pp = (void*)&f;
    })(p);
    cout << p << "---" << ((Foo *)p)->i32 << endl;
    system("pause");
}
// Question5 堆上的数据去哪了?
void main()
{
    void *p = nullptr;
    ([](void *pp)
    {
        pp = new Foo(114);
    })(p);
    cout << p << "---" << ((Foo *)p)->i32 << endl;
    system("pause");
}
// Question6 这个结果是否符合预期?出了什么问题?
void main()
{
    void *p = nullptr;
    ([](void* pp)
    {
        Foo f(114);
        memcpy(pp, &f, sizeof(Foo));
    })(p);
    cout << p << "---" << ((Foo *)p)->i32 << endl;
    system("pause");
}

(所以就不应该有结构体的概念,相当于用完就丢的图纸,有用的只有内存和指针

相关文章

  • 【总结】张雪峰大一的时候应该教的东西

    添加部分注释 2020/6/29 by xana 回答下面输出的结果: (所以就不应该有结构体的概念,相当于用完就...

  • 张雪峰

    大连,青岛,深圳,苏州

  • 张雪峰

    非常认同张雪峰老师的那段话,真正研究生上岸以后带来的收获并不仅仅是一纸文凭,而是会发现自己具备了那种通过自律与努力...

  • 张雪峰·雨夜

    张雪峰老师真是一个讲话通俗易懂的好老师!考研就是一个屌丝逆袭的过程!牛! 连续两天的雨,独自学...

  • 张雪峰老师

    张雪峰老师,是我关注的一个人。 一是因为从需求的角度,家有高中生,自然对考学的信息求知若渴。像张雪峰老师这样的中国...

  • 名嘴张雪峰离开北京

    前几年,无意间在网上看了一次张雪峰关于考研的演讲,我顿时被张雪峰妙语连珠的演讲吸引住了,张雪峰被网友称为被考研辅导...

  • 普通大学生的出路在哪里?

    昨天刷微博的时候,看到张雪峰老师的一个节目片段,讨论普通大学生是否应该考研,引发了不少的讨论。 做校园市场几年时间...

  • 听了几个小时的张雪峰

    突然刷到他的视频之前,以前只知道他是一个规划考研的人,讲东西很幽默,各大学校的专业、学校的排名都了如指掌! 只是一...

  • 关于张雪峰老师

    我不是一个轻易后悔的人。到现在为止,人生有三件后悔的事,第一高三时没好好学物理,导致现在只能教语文英语,连数学都不...

  • 考研名师张雪峰引发热议,2000元养老金生活?不给加班费到底对不

    聪明的人不为他没有的东西而抱怨,而为他拥有的东西所欢欣。 ——埃皮克提图 昨天,考研名师张雪峰老师在参加《快乐大本...

网友评论

      本文标题:【总结】张雪峰大一的时候应该教的东西

      本文链接:https://www.haomeiwen.com/subject/itqgfktx.html