C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のテンプレートと静的変数


このチュートリアルでは、C++のテンプレートと静的変数を理解するためのプログラムについて説明します。

関数とクラスのテンプレートの場合、テンプレートの各インスタンスには、変数の独自のローカルコピーがあります。

#include <iostream>
using namespace std;
template <typename T>
void fun(const T& x){
   static int i = 10;
   cout << ++i;
   return ;
}
int main(){
   fun<int>(1); //printing 11
   cout << endl;
   fun<int>(2); //printing 12
   cout << endl;
   fun<double>(1.1); //printing 11 again
   cout << endl;
   getchar();
   return 0;
}

出力

11
12
11

  1. C++で重複する円と長方形

    (radius、xc、yc)として表される円があると仮定します。ここで、(xc、yc)は円の中心座標です。また、(x1、y1、x2、y2)として表される軸に沿った長方形があります。ここで、(x1、y1)は左下隅の座標であり、(x2、y2)は右上隅の座標です。長方形の角。円と長方形が重なっていないか確認する必要があります。 したがって、入力が次のような場合 そうすれば、出力は真になります。 これを解決するには、次の手順に従います- 関数eval()を定義します。これには、a、b、c、が必要です。 bの最大値とaとcの最小値を返します メインの方法から、次のようにしま

  2. C++でのDominoとTrominoのタイリング

    ドミノとトロミノの2種類の形状があるとします。以下のように回転させることができます- タイリングでは、すべての正方形をタイルで覆う必要があります。ここで、2つのタイルは、ボード上に2つの4方向に隣接するセルがあり、タイルの1つだけが両方の正方形をタイルで占めている場合にのみ異なります。 Nが与えられた場合、2xNボードをタイリングできる方法をいくつ見つける必要がありますか?したがって、入力が3の場合、出力は5になります。したがって、配置は[XYZ XXZ XYYXXYXYY]と[XYZYYZXZZ XYY XXY]になります。ここでは、タイルごとに異なる文字が使用されます。 これを