1.C++提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。在有些书中把它译成内联函数。
指定内置函数的方法很简单,只需在函数首行的左端加一个关键字inline即可。
inline int max(int,int, int); //声明函数,注意左端有inline
int main( )
{int i=10,j=20,k=30,m;
m=max(i,j,k);
cout<<″max=″<<m<<endl;
return 0;
}
inline int max(int a,int b,int c) //定义max为内置函数
{if(b>a) a=b; //求a,b,c中的最大者
if(c>a) a=c;
return a;
}
2.字符串类型 string
① 头文件 #include <string>
string2=string1; //假设string2和string1均已定义为字符串变量
对字符串赋值
②
string word=″Then″; //定义并初始化字符串变量word
word[2]=′a′;
//修改序号为2的字符,修改后word的值为″Than″
③
字符串连接用加号
string string1=″C++″; //定义string1并赋初值
string string2=″Language″; //定义string2并赋初值
string1=string1 + string2; //连接string1和string2
连接后string1为: ″C++ Language″。
④
字符串比较直接用关系运算符
可以直接用 ==(等于)、>(大于)、<(小于)、!=(不等于)、>=(大于或等于)、<=(小于或等于)
等关系运算符来进行字符串的比较。
⑤
string name[5]; //定义一个字符串数组,它包含5个字符串元素
string name[5]={″Zhang″,″Li″,″Fun″,″Wang″,″Tan″};
//定义一个字符串数组并初始化
此时name数组的状况如图5.11所示:
3.new与delete运算符
new int; //开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)
new int(100);
//开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址
new char[10];
//开辟一个存放字符数组(包括10个元素)的空间,返回首元素的地址
new int[5][4];
//开辟一个存放二维整型数组(大小为5*4)的空间,返回首元素的行指针地址
float *p=new float(3.14159);
//开辟一个存放单精度数的空间,并指定该实数的初值为3.14159,将返回的该空间的地址赋给指针变量p
new运算符使用的一般格式为 new 类型 [初值] 用new分配数组空间时不能指定初值。
delete [] 指针变量 (删指向数组的指针)
例如要撤销上面用new开辟的存放单精度数的空间(上面第5个例子),应该用
delete p;(删普通元素指针)
前面用“new char[10];”开辟的字符数组空间,如果把new返回的指针赋给了指针变量pt,则应该用以下形式的delete运算符撤销该空间:
delete [] pt; //在指针变量前面加一对方括号,表示是对数组空间的操作