美文网首页
C语言析构函数

C语言析构函数

作者: 崩芭大酱 | 来源:发表于2018-05-14 09:07 被阅读30次

C语言析构函数

C语言里面的结构(struct)只是吧各种不同的数据类型整合在一起,变成一种程序员自定义的数据列行。

结构是完全开放的,任意一个函数,只要能访问到这个结构,就可以随意操作其中的数据。

而类(class)除了是将不同的数据类型以私有的形式(private)组合在一起之外,还提供了访问这些数据的方法(即类函数)。

这样,就是类具备了封装的功能,有效的保护了数据。

同时,类还有构造,析构,继承和多态等多种优点。这些优势,使得C++的应用越来越广泛。

在gcc下可以使用关键字__ attribute__指定构造函数,这些构造函数由编译器进行处理,在执行main函数之前,就会执行。

__attribute__使用方法:

void __attribute__((constructor)) function(void)
#include <stdio.h>
void __attribute__((constructor)) test(void) {
    printf("This is a constructor function: test\n");
}

int main() {
    printf("This is main function\n");
    return 0;
}

编译并运行可以看到 在main函数执行之前,执行了test函数。

相关文章

  • 简介python中的析构函数与构造函数

    python的构造和析构函数为固定的名字。 构造函数 析构函数 不像c++中那样构造函数和析构函数是类名字。并且在...

  • C语言析构函数

    C语言析构函数 C语言里面的结构(struct)只是吧各种不同的数据类型整合在一起,变成一种程序员自定义的数据列行...

  • [C++之旅] 13 析构函数

    [C++之旅] 13 析构函数 析构函数与构造函数相反,构造函数在实例化一个对象时调用,而析构函数在销毁一个对象时...

  • 2020-02-10 C++基础2

    1:为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数? 将可能会被继承的父类的析构函数设置为虚...

  • Python中垃圾回收

    熟悉C语言的同学可能对对象的构造和析构比较熟悉。所谓构造函数,就是对类进行初始化,而析构函数则是删除对象,并提供一...

  • C++基础③new对象,继承,友元函数,函数的可变参数

    接续上篇C++基础②构造函数,析构函数,拷贝构造函数 前言 C++是一门面向对象的编程语言 , 创建用以创建对象 ...

  • c++构造函数,析构函数,调用顺序

    最近,在看c++,聊一个简单的话题吧。构造函数,析构函数,及调用顺序。 构造函数, 构造函数,析构函数,如上代码所...

  • c++学习笔记2(GeekBand)

    拷贝构造、拷贝赋值和析构 c++中有Big Three三个特殊的函数,他们就是拷贝构造函数,拷贝赋值函数和析构函数...

  • 2002.C++BASE-构造函数、析构函数

    转:C++继承中构造函数、析构函数调用顺序及虚析构函数 1.构造函数 大家都知道构造函数里就可以调用成员变量,而继...

  • C++之析构函数

    析构函数的概述 析构函数 完成对象的清理工作,先清理,再释放对象空间。析构函数也是编译器自动调用。 析构函数 不能...

网友评论

      本文标题:C语言析构函数

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