C语言相对于C++不具有的性质
来源:互联网 发布:网络重口现场微博 编辑:程序博客网 时间:2024/06/05 10:13
虽然C和C++很像,但是仍有一些不同点,如果不弄清楚,在开发中可能回碰到一定的问题,以下是一些个人总结:
一。 C不支持重载
C语言在编译的时候,由于只涉及到函数的名称,因此只要是函数名称相同的函数都认为是相同的,因此在涉及到一些很类似的函数,可以考虑用宏来实现
二。 C不支持函数参数的默认值
在C++中,通常为了简洁,可以将函数中最后几个参数设置为默认值,这样在调用的函数的时候就可以不用输入这些信息,但是在C中,却没有这个功能,但是也可以通过宏的方式实现,如一个简单的例子:
#define TEST_DEFAULT(age) test_default(age, 1)
void test_default(int age, int weight);
这样就可以调用TEST_DEFAULT宏来完成默认值为1
三。C不支持C++中的Template,即模板
模板在C++中使用很广,但是在C中常用的就是#define T char 这样简单的使用方式,但是这种却有很致命的缺陷,即所有文件的T都是同一个,处理起来很不方便,但是在C中也可以通过宏的方式来实现类似C++的模板
- C语言相对于C++不具有的性质
- c语言&&和||的短路性质分析
- C语言continue和break有的区别
- C语言continue和break有的区别
- Python语法关注点相对于c/c++(二)
- 二叉树的定义和性质(C语言)
- C语言之“先有的鸡还是先有的蛋”浅谈
- objective-c计算相对于现在的时间差
- pro*c里,相对于c,c++体现的一个优点
- 完整详尽的二叉排序树性质及源码和注释 C语言 可直接运行
- 用C语言实现将int类型转化为字符串,不使用已有的转换函数
- [转]C99标准的新特性(相对于Ansi C)
- C99标准的新特性(相对于Ansi C)
- C++相对于C的两种新的内置类型
- C基础:队列性质应用广度搜索
- C基础:堆栈性质应用深度搜索
- dmesg -c 用于清掉已有的log
- 我阅读过的C/C++开源项目---有的经过有的路过有的啃过有的改过
- DOCTYPE指令、xmlns及JS代码前面的注释说明
- 常用 SQL 语句
- ubuntu下jdk的安装和环境变量的配置
- nefu 116
- The Android Telephony API for GSM
- C语言相对于C++不具有的性质
- Could not find the main class. Program will exit
- iOS 获取本地IP地址
- alias 命令的用法
- poj 1061 青蛙的约会 二元一次不定方程 http://poj.org/problem?id=1061
- 关于 linux 的环境变量设置及 export 的用法
- LINUX下性能分析工具简单介绍
- 2013-07-03
- CActiveDataProvider, CArrayDataProvider, CSqlDataProvider填充CGridView数据经验谈