C++:
コードを関数に整理する
どのようにして:
一般的なタスクを例に取りましょう:円の面積を計算します。同じ式を毎回書く代わりに、それを関数にカプセル化します。
#include <iostream>
#define PI 3.14159
double calculateCircleArea(double radius) {
return PI * radius * radius;
}
int main() {
double r = 5.0;
std::cout << "半径が" << r << "の円の面積は " << calculateCircleArea(r) << "です。" << std::endl;
return 0;
}
サンプル出力:
半径が5の円の面積は78.5397です
深入り
歴史的に、手続きと関数は構造化プログラミングの支柱でした。それは1960年代に挙げられ、「スパゲッティコード」として知られる初期の命令型プログラミング言語の問題に対抗するためです。代替手段としてのOOP(オブジェクト指向プログラミング)は、これらの関数をデータ構造体に関連付けることで、さらに一歩進んでいます。C++では、通常の関数、クラスメソッド(静的メソッドを含む)、ラムダ、テンプレート関数があり、それぞれ異なる利点を提供しています。うまく整理された関数の実装には通常、DRY(“Don’t Repeat Yourself”)やSRP(Single Responsibility Principle)といった原則に従うことが含まれており、これは各関数が一つのことを行い、それをうまく行うことを意味します。
関連項目
C++の関数についてのさらなる情報:
- https://en.cppreference.com/w/cpp/language/functions
- https://www.learncpp.com/cpp-tutorial/77-introduction-to-functions/
関数に関連した設計原則:
- https://en.wikipedia.org/wiki/Single-responsibility_principle
- https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
ラムダと高度な関数使用について学ぶ: