结构体与类的异同(在C与c++)
2016-07-07 10:28
302 查看
结构没有无参构造函数 ,结构不能被继承 ,结构是值类型,而类是引用类型 ,结构体默认的类型是public,而类默认类型是pravite,结构在数据参数方面效率更高,简单数组的应用中成本很低,类在方法运算方面更有优势,在抽象多级别时最佳选择 ,这些内容大家都知道,下面我就详细说明。
1.引用类型和值传递的区别
简单地说就是值传递就是复制数据,那么两者没有关联性,引用类型是传其地址,两者是指向同一个地址,只是名字不一样。归纳如下:
1)基本数据类型,传递的是数据的拷贝
2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身 。
2.我们可以认为结构体是一个特殊的类,里面没有函数成员,纯粹的放着数据。而类我们可以认为是类的一种扩展,除了数据成员还可以包含成员函数,可以继承和派生将代码的可重复利用性提高,在算法上有着很大的优势。
3.在C和C++中对于结构体的定义还有一些小区别,在结构体中我们还要区别结构体和联合体的用法,特别是联合体不同数据对于内存的占用。
4.考虑安全性和可扩展性,当然在C++中,类的作用要比结构体好得多,所以可以知道在C++中见到的大部分是类。
结构没有无参构造函数 ,结构不能被继承 ,结构是值类型,而类是引用类型 ,结构体默认的类型是public,而类默认类型是pravite,结构在数据参数方面效率更高,简单数组的应用中成本很低,类在方法运算方面更有优势,在抽象多级别时最佳选择 ,这些内容大家都知道,下面我就详细说明。
1.引用类型和值传递的区别
简单地说就是值传递就是复制数据,那么两者没有关联性,引用类型是传其地址,两者是指向同一个地址,只是名字不一样。归纳如下:
1)基本数据类型,传递的是数据的拷贝
2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身 。
2.我们可以认为结构体是一个特殊的类,里面没有函数成员,纯粹的放着数据。而类我们可以认为是类的一种扩展,除了数据成员还可以包含成员函数,可以继承和派生将代码的可重复利用性提高,在算法上有着很大的优势。
3.在C和C++中对于结构体的定义还有一些小区别,在结构体中我们还要区别结构体和联合体的用法,特别是联合体不同数据对于内存的占用。
4.考虑安全性和可扩展性,当然在C++中,类的作用要比结构体好得多,所以可以知道在C++中见到的大部分是类。
相关文章推荐
- unicode和ansi的区别
- JAVA和C++数组初始化
- 用VIM打造C语言编写器
- c语言编程文件和函数说明模板
- c++ <>与“”
- C++中的erase方法
- C++汇总
- c++ 标准数据类型
- #pragma once与#ifndef两种防止头文件二次编译的区别
- C++命名空间
- c语言中typedef的几种用法
- c/c++使用指针做函数返回值和指针作函数参数问题
- C++中类的内存空间大小(sizeof)分析
- C/C++中函数参数传递详解
- C++中Static作用和使用方法
- C++ Queues(队列)
- C/C++程序员必须熟练应用的开源项目
- C++ typedef用法小结
- C++——指针和引用
- 介绍了如何取成员函数的地址以及调用该地址:C++