c语言析构函数的作用,C语言析构函数
C语言析构函数
C语言里面的结构(struct)只是吧各种不同的数据类型整合在一起,变成一种程序员自定义的数据列行。
结构是完全开放的,任意一个函数,只要能访问到这个结构,就可以随意操作其中的数据。
而类(class)除了是将不同的数据类型以私有的形式(private)组合在一起之外,还提供了访问这些数据的方法(即类函数)。
这样,就是类具备了封装的功能,有效的保护了数据。
同时,类还有构造,析构,继承和多态等多种优点。这些优势,使得C++的应用越来越广泛。
在gcc下可以使用关键字__ attribute__指定构造函数,这些构造函数由编译器进行处理,在执行main函数之前,就会执行。
__attribute__使用方法:
void __attribute__((constructor)) function(void)
#include
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函数。
c语言析构函数的作用,C语言析构函数相关推荐
- c语言fun的作用,c语言fun函数有什么作用
c语言fun函数有什么作用 c语言fun函数的作用是被主函数所调用,来定义一个函数或方法,这样在引用时可以用fun表示,比如[int fun(int x,int y)]. c语言fun函数的作用是: ...
- C语言文件缓冲区作用,C语言 文件操作4--文件结构体FILE的理解以及缓冲区再讲...
//文件结构体FILE的理解以及缓冲区再讲 #include #include //要点:文件结构 //struct _iobuf { // char *_ptr; ------当前缓冲区内容指针 / ...
- %2d在c语言中什么作用,C语言中的 %2d是什么意思
修饰符格式说明.意义M%md以宽度m输出整型数,不足m时,左补空格0m%0md以宽度m输出整型数,不足m时,左补零m,n%m.nf以宽度m输出实型小数,小数位为n位例如:设i=123,a=12.345 ...
- c语言 const常量作用,C语言 const常量讲解
//const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态 ...
- step在c语言中什么作用,C语言step-by-step(二)(数据类型)
第2章:数据类型 先介绍一些计算机指令简单的知识: 大家都知道我们的计算机有硬盘.有内存这两样东西,都属于存储器,但是硬盘属于在掉电后不丢失信息,一般我们把资料存放在硬盘:然而内存掉电会丢掉所有信息, ...
- c语言算术运算的作用,C语言算术运算符和算术表达式
C语言算术运算符和算术表达式 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.下面和大家分享一些C语言算术运算符和算术表达式,一起来看看吧! 一. 基本的算术运算符 (1)+(加法运算 ...
- c语言get()的作用,c语言get函数的用法有哪些
C语言中gets从标准输入设备读字符串函数,可以无限读取,不会判断上限,今天学习啦小编在这里为大家介绍C语言get函数的用法,欢迎大家阅读! c语言get函数的用法:int getc(FILE *st ...
- c语言选择结构作用,c语言选择结构程序设计教案
<c语言选择结构程序设计教案>由会员分享,可在线阅读,更多相关<c语言选择结构程序设计教案(16页珍藏版)>请在人人文库网上搜索. 1.选择结构程序设计(一)说明内容1关系运算 ...
- c语言record的作用,C语言基础 record 2-指针,结构体,链表,文件的输入输出
指针: 1.指针的概念: 内存区的每一个字节有一个编号,这就是 '地址',由于通过地址能找到所需的变量单元,而地址指向该变量单元,所以将地址形象化称为 '指针'.C/C++中是可多继承的指针,而Jav ...
最新文章
- labview运行excel宏_LabVIEW编程实例:电子表格文件的读写操作方法
- 请问为什么像cellspacing=0和bgcolor=red的属性在style里面不起作用呢?
- 中3d库后接负载_什么是假负载?如何利用假负载维修变频器?
- 手机壳鸿蒙,手机壳黑榜发布 真相太惊人!
- hdu 1250 Hat's Fibonacci
- 【开发者成长】Vue.js 中有哪些性能陷阱
- mac安装仿宋GB2312字体
- ubuntu 16.04下设置静态IP地址
- 支付宝支付原理以及测试接口获取支付url
- eMarketer:女性网民更偏爱网络社区
- win10管理员已阻止你运行此应用解决方法
- 如何在python上安装安装包(python 3.9 环境 PyCharm pillow安装包为例)
- Deeplung代码复现(一)
- 通俗易懂——css长度单位:px、em、rem、vh、vw、in、...
- 未来已来——云应用引擎CAE开启应用Serverless新时代
- 经纬度转换为UTM坐标
- DDP及其在pytorch中应用
- JQuery获取父,子,兄弟节点
- TEC1401.Report开发技术总结 - 第九章 使用BI Publisher开发报表-使用BI Publisher创建RTF模板的语法(4/5)
- Rust 14: 文件读写