template<classT>//模板函数
T abc1(T a, T b, T c){
return a + b * c;}template<classT>//引用参数
T abc2(T &a, T &b, T &c){
return a + b * c;}template<classT1,classT2,classT3>//常量引用参数
T1 abc(const T1 &a,const T2 &b,const T3 &c){
return a + b * c;}
intabc4(int a,int b,int c){
if(a <=0|| b <=0|| c <=0)throw"All parameters should be > 0";//抛出异常return a + b * c;}intmain(){
try{
cout <<abc4(2,0,4)<< endl;}catch(char*e){
//捕捉char*类型异常
cout << e << endl;return1;}return0;}
動的ストレージスペース割り当て C ++演算子newは、動的ストレージ割り当てまたはランタイムストレージ割り当てに使用されます。その値は、割り当てられたスペースへのポインターです。deleteは、newによって割り当てられたメモリを解放するために使用されます。 動的割り当ての1次元配列は、次のように作成できます。演算子newは、n個の整数にスペースを割り当て、最初の整数スペースへのポインターを返します。コンピュータに割り当てるのに十分なメモリがない場合、newはメモリを割り当てず、タイプbad_allocの例外をスローします。これは、try-catch構造によってキャッチされる可能性があります。
int*x=newint[n];
int n;try{
int*x =newint[n];}catch(bad_alloc){
cout <<"out of memory"<< endl;exit(1);}