C、C++、C#中struct的简单比较
2024-09-29 08:38:05
比较这三者是因为C、C++、C#这三者存在着一定的血缘关系,而他们三者都有的struct却有很大的不同。
功能
- C中的struct是最简单的。只能有成员变量而不能有成员函数。
- C++和C#中都支持,而且支持很多其他的特性。C++中的struct和class没有太大功能上的差别。
- C#中struct可以有构造函数、常量、字段、方法、属性、索引器、运算符、事件和嵌套类型等特性。
可见性
- C中没有可见性的概念,到处都可见。
- C++中struct默认是公有继承,所以成员可见性是public。
- C#中struct的成员默认为private。
和class的区别
- C当然无从谈起。
- C++中的struct除了默认可见性和class不同,其他的差别很小。比如可以有继承甚至多重继承。
- C#中struct限制较多,不可以继承,但可以实现接口。不可以声明无参构造函数和析构函数。C#中所有结构都直接继承自 System.ValueType,后者继承自 System.Object。C#中的struct是值类型,而class是引用类型。
参考链接
[1] http://blog.csdn.net/yangzhiloveyou/article/details/8536793
[2] http://hi.baidu.com/hj11yc/item/902b8b2abfa226caee10f188
[3] http://msdn.microsoft.com/zh-cn/library/ah19swz4.aspx
[4] http://msdn.microsoft.com/zh-cn/library/saxz13w4.aspx
最新文章
- Python-13-堡垒机开发
- thinkphp标签
- I/O优化篇
- linux下google chrome浏览器字体修改
- 【转】C# 子窗体如何调用父窗体的方法
- Java开发WebService的几种方法--转载
- windows service 安装和卸载指令
- QPS、PV和需要部署机器数量计算公式(转)
- .NET Web后台动态加载Css、JS 文件,换肤方案
- 【itclx面向对象二】窥探itcl面向编程源码
- python 【第三篇】:函数及参数
- github import repository创建github仓库
- win10下vagrant+centos7 rails虚拟开发机配置流程
- mysql 存在索引但不能使用索引的典型场景
- k8s部署使用Dashboard(十)--技术流ken
- docker技术之基本命令
- P1198 最大数 线段树水题
- ruby学习-字符串
- HTTP 错误 401.3 - Unauthorized asp.net mvc 图片,css,js没有权限访问
- Python 实现数据库更新脚本的生成
热门文章
- malloc,alloc,realloc之间的相似与区别
- AtCoder Beginner Contest 052
- 【转】Js 数组转JSON格式
- Python学习笔记(快捷键)
- VRTK3.3.0-003发出一条简单射线和监听
- Sublime Text 快捷键的使用
- 字符串前面u,r,b
- Spring @Import 注解
- Python内建函数二
- Educational Codeforces Round 66 (Rated for Div. 2) A. From Hero to Zero