C++终极复习篇(二)----认知C++
2015-12-01 20:28
483 查看
前面对C++的HelloWorld程序进行了解析,那么现在就开始了解C++相较于C的新特性吧:
(1)标准输入输出:cin、cout、cerr(标准出错输出)、clog(cerr的缓冲形式);
(2)const定义常变量:宏定义其实是字符置换,不占用存储单元,而const定义常量,具有变量属性,有数据类型,占用存储单元,有地址;
(3)函数原型声明:强制性原型声明;
(4)函数重载:C++允许在同一作用域中定义多个同名函数,通过参数类型和参数个数对其加以区分来实现不同的功能;
(5)函数模板:建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表:
(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)标准输入输出: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为结构体。
相关文章推荐
- C++类的静态成员
- C++ vector resize 和 reserve的区别
- [转载]深入理解C语言函数指针
- windows下C++学习推荐书籍
- C/C++程序从编译到最终生成可执行文件的过程分析
- C++基础
- C++显性转换
- C语言学习笔记3
- c++STL之sort排序
- C++终极复习篇(一)----HelloWorld
- 546B. Soldier and Badges
- C++:STL标准入门汇总
- 344A. Candy Bags
- C语言之指针笔记
- C++之UML关系说明图
- Java与c/c++运行时的不同
- C++指针例
- Visual c++ 2012 软件错误
- 【C/C++学习笔记】改造 printf 的小例子
- c++ 继承机制易犯的错误