C与C++比较新增功能大全(完善中)

1、输入流与输出流
cin与cout为输入输出流,在C++中作为输入输出函数使用。
与scanf与printf相比,使用更加简洁方便,不需要指定输出内容的格式与数据类型例如%d等
2.内置函数(也叫内联函数)
内置函数在声明及定义时函数名前要加inline作为内置函数的标志
C++中使用内置函数会提高程序的效率,但同时会增加程序的长度,在每次调用内置函数的时候,编译系统都会复制内置函数的代码并插入程序中,增加了程序的长度、
同时,C++规定内置函数中不允许有复杂的控制语句,例如循环语句及switch语句
只有那些规模较小而又频繁调用的简单函数,才适合被声明为内置函数
3.函数重载
C++中新增了函数重载,允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同。
4.函数模板
由函数重载衍生出函数模板
定义函数模板的一般形式为:
template < typename T >
template < class T >
上面二者都可使用,一般用typename较好,因为class与C++中类的名称有所混淆。
T为类型名,但并未指出具体为哪一个类型,在后面的调用中直接调用即可。

#include <iostream>
using namespace std;
template <typename T>
T max(T a, T b,T c)
{
    if (b > a) a = b;
    if (c > a) a = c;
    return a;
}
int main()
{
    int i1, i2, i3;
    double j1,j2,j3;
    int m;
    double n;
    m = max(i1, i2, i3);//自动调用模板函数,此时T被int取代
    n = max(j1, j2, j3);//自动调用模板函数,此时T被double取代
    getchar();
    return 0;
}

5.有默认参数的函数
例如有一函数声明为:
float area ( float r = 6.5 );
则指定r的默认值为6.5.在调用时:
area(); = area(6.5);
如果不想使用默认参数,则直接area(7.5);即可。
由于实参与形参的结合是由左至右顺序结合的,所以指定默认值的参数必须放在形参最右端,否则出错。
注意:
a.一个函数不能既作为有默认参数的函数又作为重载函数
b.如果函数的定义在函数调用之前,则应在函数定义中给出默认值
c.如果函数定义在函数调用之后,则必须在函数声明中给出默认值,函数定义是可以不给出默认值
6.运算符重载
7.引用调用机制
8.标准模板库
9.多态性
10.继承
11.字符串变量和字符串类
在C++中提供了string类,用string类可以定义字符串变量。
使用string类时,必须在前面声明#include
字符串变量可以直接用“=”赋值,也可以相互赋值,同时支持对字符串的某一个字符赋值。
eg: string word = ” china”;
word[2] = ‘a’;
字符串变量可以直接用=进行复制,赋值运算,也可以直接运用“+”进行连接,可以用>,<,>=,<=等关系运算符。
可以用字符串变量声明字符串数组,由字符串变量组成字符串数组,每一个字符串变量长度可以不同,实际上,编译器为每一个字符串变量分配4个字节,用来存储字符串的地址而非字符串本身。
归纳起来,C++对字符串的处理方法有两种:
1.字符数组,称为C—string方法
2.用string类定义字符串变量,称为string方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值