C++终极复习篇(二)----认知C++

来源:互联网 发布:大数据时代txt百度云 编辑:程序博客网 时间:2024/05/22 10:40

前面对C++的HelloWorld程序进行了解析,那么现在就开始了解C++相较于C的新特性吧:

(1)标准输入输出:cin、cout、cerr(标准出错输出)、clog(cerr的缓冲形式);

(2)const定义常变量:宏定义其实是字符置换,不占用存储单元,而const定义常量,具有变量属性,有数据类型,占用存储单元,有地址;

(3)函数原型声明:强制性原型声明;

(4)函数重载:C++允许在同一作用域中定义多个同名函数,通过参数类型和参数个数对其加以区分来实现不同的功能;

(5)函数模板:建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表:

<span style="font-family:Times New Roman;font-size:14px;">#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 ia=0,ib=5,ic=8;double da=0.0,db=5.0,dc=8.2;cout<<max(ia,ib,ic)<<endl;cout<<max(da,db,dc)<<endl;return 0;}</span>


(6)默认参数的函数:可指定形参有默认值;

(7)变量的引用:为变量起别名,更加方便的使用变量,不能建立void和数组类型的引用,不能定义指向引用类型的指针变量

1.void &a=9;//错误

2.char c[6]="hello";char &rc[6]=c;//错误

3.int a=3;int &b=a;int *p=&b;//正确

  int & *p=&a;//错误

4.int i=5;int *p = &i;int* &pt=p;//正确

5.int i=5;const int &a=i;//引用的值将无法修改,但变量本身可以修改,变量修改后引用的值将随之改变

6.int i=5; const &a=i+3;等价于int i=5;int temp=i+3;const int &a=temp;

(8)内置函数:在编译时将调用函数的代码嵌入到主函数中以提高执行效率,函数用inline修饰;

(9)动态分配撤销内存运算符new和delete:Student *p;p = new Student;delete p;//Student为结构体。


1 0
原创粉丝点击