结构体与类的异同(在C与c++)

来源:互联网 发布:云计算板块 编辑:程序博客网 时间:2024/06/05 01:10


    结构没有无参构造函数 ,结构不能被继承 ,结构是值类型,而类是引用类型 ,结构体默认的类型是public,而类默认类型是pravite,结构在数据参数方面效率更高,简单数组的应用中成本很低,类在方法运算方面更有优势,在抽象多级别时最佳选择 ,这些内容大家都知道,下面我就详细说明。


1.引用类型和值传递的区别

简单地说就是值传递就是复制数据,那么两者没有关联性,引用类型是传其地址,两者是指向同一个地址,只是名字不一样。归纳如下:

        1)基本数据类型,传递的是数据的拷贝
        2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身 。


2.我们可以认为结构体是一个特殊的类,里面没有函数成员,纯粹的放着数据。而类我们可以认为是类的一种扩展,除了数据成员还可以包含成员函数,可以继承和派生将代码的可重复利用性提高,在算法上有着很大的优势。


3.在C和C++中对于结构体的定义还有一些小区别,在结构体中我们还要区别结构体和联合体的用法,特别是联合体不同数据对于内存的占用。


4.考虑安全性和可扩展性,当然在C++中,类的作用要比结构体好得多,所以可以知道在C++中见到的大部分是类。


0 0
原创粉丝点击