human
正方形の周囲を計算するC ++プログラムを作成する
gpt
もちろんです。ここに関数があります。
```cpp
float calcPerimeter(float sideLength) //The side lenght of the square
{
    return 4 * sideLength;
}
```
human
これを一般的に書き換えてもらえますか？
gpt
C++11を使用していると仮定して、どんな算術演算型でも実行できる、より汎用的な関数を紹介しよう：
```c++:
#include <type_traits>

template <typename T,
          typename = typename std::enable_if<std::is_arithmetic<T>::value, T>::type
          >
T calcPerimeter(const T& sideLength) //The side length of the square
{
    return 4 * sideLength;
}
```