C++基础知识 课堂复习
2017-07-06 20:02
330 查看
1.变量定义位置
C语言中,所有局部变量必须在函数开头定义;
C++中只要在使用之前定义好就可以;
2.布尔类型
布尔类型是用于判断执行结果的数据类型,它的判断比较结果只有两种情况:0和非0。C++中定义0为假,非0为真,使用关键字bool定义布尔型变量。
要能够正确理解char,short ,int ,long ,float ,double等类型的字节数;
int a = 5;
if(a != 0)
if(a == 0)
float b = 0.3;
if((b>-0.000001)&&(b<0.000001))
char *ptr=NULL;
if(NULL == ptr)
if(NULL != ptr)
bool p = true;
if(p)
if(!p)
3.new,delete
C++中:new,delete
C语言中:malloc,free;
申请空间的函数不要混用;必须成对出现;
申请单个类型空间:
int *p;
p = new int;
申请一串空间的时候:
char *ptr;
ptr = new char[100];
释放空间:
delete p;
delete[] ptr;
4.函数的重载
C语言中,每个函数都必须有唯一的一个名字,这个就必须记住每一个函数的名字。
例如经常所见的求最大值的函数,数据类型不同,函数名不能相同。
int max1(int ,int);
int max2(int ,int, int);
double max3(double, double);
C++中允许同名函数存在,但函数的参数个数必须不同:即形参个数不同,或形参
个数相同,但参数类型有所不同。----这就是重载。
#include <iostream>
using namespace std;
int max(int,int);
double max(double,double);
int max(int,int,int);
int main()
{
int i=5, j=9, k=10, p=0;
double m=33.4, n=8.9, q=0;
p=max(i,j);
cout<<i<<","<<j<<"max in two"<<p<<endl;
p=max(i,j,k);
cout<<i<<","<<j<<","<<k<<"max in three"<<p<<endl;
q=max(m,n);
cout<<m<<","<<n<<"max in two"<<q<<endl;
return 0;
}
int max(int x,int y)
{
return x>y?x:y;
}
double max(double x,double y)
{
return x>y?x:y;
}
int max(int x,int y,int z)
{
int temp;
temp = x>y?x:y;
temp = temp>z?temp:z;
return temp;
}
5.inline 内联函数
函数调用的时候会发生一些时间开销:系统栈的保护,参数的传递,栈的恢复;?
对于函数体比较小,执行时间短但频繁使用的函数来说,这种开销比较大。
内联函数机制,不是在函数调用的时候发生转移而是在编译的时候将函数体嵌入到每个内联函数
调用处,可以省去调用进栈出栈的时间开销。
函数的定义:
inline <类型标识><函数名>(形参列表)
{
函数体
}
必要说明:
1) 内联函数不能含有循环语句,swtich语句
2) 内联函数必须在调用之前声明和定义;
3)内联函数不能指定抛出异常类型;
4)inline只是修饰函数向编译器提出内联请求,做不作为内联函数由编译器决定;
#include <iostream>
using namespace std;
inline int max(int,int);
int main()
{
int a[10];
cout<<"input 10 members:"<<endl;
for(i=0; i<10; i++)
{
cin>>a[i];
}
int temp=a[0];
for(i=0; i<10; i++)
{
temp = max(temp, a[i]);
}
cout<<"in 10 members is max :"<<temp<<endl;
return 0;
}
inline int max(int x,int y)
{
return x>=y>x:y;
}
C语言中,所有局部变量必须在函数开头定义;
C++中只要在使用之前定义好就可以;
2.布尔类型
布尔类型是用于判断执行结果的数据类型,它的判断比较结果只有两种情况:0和非0。C++中定义0为假,非0为真,使用关键字bool定义布尔型变量。
要能够正确理解char,short ,int ,long ,float ,double等类型的字节数;
int a = 5;
if(a != 0)
if(a == 0)
float b = 0.3;
if((b>-0.000001)&&(b<0.000001))
char *ptr=NULL;
if(NULL == ptr)
if(NULL != ptr)
bool p = true;
if(p)
if(!p)
3.new,delete
C++中:new,delete
C语言中:malloc,free;
申请空间的函数不要混用;必须成对出现;
申请单个类型空间:
int *p;
p = new int;
申请一串空间的时候:
char *ptr;
ptr = new char[100];
释放空间:
delete p;
delete[] ptr;
4.函数的重载
C语言中,每个函数都必须有唯一的一个名字,这个就必须记住每一个函数的名字。
例如经常所见的求最大值的函数,数据类型不同,函数名不能相同。
int max1(int ,int);
int max2(int ,int, int);
double max3(double, double);
C++中允许同名函数存在,但函数的参数个数必须不同:即形参个数不同,或形参
个数相同,但参数类型有所不同。----这就是重载。
#include <iostream>
using namespace std;
int max(int,int);
double max(double,double);
int max(int,int,int);
int main()
{
int i=5, j=9, k=10, p=0;
double m=33.4, n=8.9, q=0;
p=max(i,j);
cout<<i<<","<<j<<"max in two"<<p<<endl;
p=max(i,j,k);
cout<<i<<","<<j<<","<<k<<"max in three"<<p<<endl;
q=max(m,n);
cout<<m<<","<<n<<"max in two"<<q<<endl;
return 0;
}
int max(int x,int y)
{
return x>y?x:y;
}
double max(double x,double y)
{
return x>y?x:y;
}
int max(int x,int y,int z)
{
int temp;
temp = x>y?x:y;
temp = temp>z?temp:z;
return temp;
}
5.inline 内联函数
函数调用的时候会发生一些时间开销:系统栈的保护,参数的传递,栈的恢复;?
对于函数体比较小,执行时间短但频繁使用的函数来说,这种开销比较大。
内联函数机制,不是在函数调用的时候发生转移而是在编译的时候将函数体嵌入到每个内联函数
调用处,可以省去调用进栈出栈的时间开销。
函数的定义:
inline <类型标识><函数名>(形参列表)
{
函数体
}
必要说明:
1) 内联函数不能含有循环语句,swtich语句
2) 内联函数必须在调用之前声明和定义;
3)内联函数不能指定抛出异常类型;
4)inline只是修饰函数向编译器提出内联请求,做不作为内联函数由编译器决定;
#include <iostream>
using namespace std;
inline int max(int,int);
int main()
{
int a[10];
cout<<"input 10 members:"<<endl;
for(i=0; i<10; i++)
{
cin>>a[i];
}
int temp=a[0];
for(i=0; i<10; i++)
{
temp = max(temp, a[i]);
}
cout<<"in 10 members is max :"<<temp<<endl;
return 0;
}
inline int max(int x,int y)
{
return x>=y>x:y;
}
相关文章推荐
- C++基础知识复习&总结
- C++ 基础知识复习 1
- 复习C++基础知识-----“我的第一本C++”读书笔记3
- C++基础知识复习--结构体类数组作为函数参数
- C++基础知识复习-【1】进制转换系列之16进制转10进制
- 复习C++基础知识-----“我的第一本C++”读书笔记1
- C++基础知识复习与总结(1)---C++内存管理
- C++基础知识复习--运算符重载(非成员函数重载和成员函数重载)
- C++基础知识复习--字符串
- C++基础知识复习--类
- C++基础知识复习--函数重载
- Professional C++ 01 A Crash Course in C++ 快速的C++基础知识复习
- 计算机网络-C++基础知识,面试复习题
- C++基础知识复习之--顺序表学生成绩管理系统
- 复习C++基础知识-----“我的第一本C++”读书笔记4(终篇)
- 复习C++基础知识-----“我的第一本C++”读书笔记2
- 复习C++一些基础知识
- C++基础知识复习 const关键字
- C++基础知识复习&总结
- C++基础知识复习--函数模板