1.逗号操作符
逗号表达式是一组由逗号分割的表达式,这些表达式从左向右计算。逗号表达式的结果是其最右边表达式的值 。如果最右边的操作数
是左值,则逗号表达式的值也是左值。此类表达式通常用于for循环:
int cnt = ivec.size();
for(vector<int>::size_type ix = 0; ix != ivec.size(); ++size, --cnt)
{
ivec[ix] = cnt;
}
上述的for语句在循环表达式中使ix自增1而cnt自减1.每次循环均要修改ix和cnt的值。当检验ix的条件判断成立时,程序将下一个元素
重新设置为出cnt的当前值。
2.三目(元)运算符 ( ? : )
max = (a > b) ? a: b
if(a>b) max = a;
else max = b;
x>y ? 1:1.5 将1转化为双精度型
3.函数
(1) 内置函数:
调用函数需要一定的时间和空间开销。C++提供一种提高效率的方法,即在编译时讲锁调用函数代码直接镶入到主函数中,这种嵌入
到主函数中的函数称为内置函数。
注:那些规模较小而又被频繁调用的简单函数,才适合于声明为inine函数。
(2) 函数的重载
重载函数的函数名相同,参数个数,参数类型,参数顺序至少有一个不同
(3) 函数模板
函数模板适用于函数体相同,函数的参数个数相同而类型不同的情况
template <typename T> //模板声明,其中T为类型参数 也可以用template <class T>
T max(T a ,T b, T c) //定义一个通用函数,用T做虚拟的函数名
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
类型参数可以不只一个,可以根据需要确定个数
如: template < class T1, typename T2>