const宣言の引数を持つ関数

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

まずは、以下のコードを実行してみます。

スポンサーリンク

#include <iostream>
 
int main() {
    int mult(int num_i, int num_k);
    std::cout << mult(5, 6) << "\n";
    return (0);
}
 
int mult(int num_i, int num_k) {
    num_i = 10;
    num_k = 20;
    return (num_i * num_k);
}

実行結果。

200

関数定義の中で、num_i = 10、num_k = 20により、渡された引数が関数内で変更されて、計算結果を出力しています。

今度は、ためしにconst宣言を引数に付けてみます。

#include <iostream>
 
int main() {
    int mult(const int num_i, const int num_k);
    std::cout << mult(5, 6) << "\n";
    return (0);
}
 
int mult(const int num_i, const int num_k) {
    num_i = 10;
    num_k = 20;
    return (num_i * num_k);
}

このコードをコンパイルしようとしますと・・・

'num_i' : const である変数へは割り当てることはできません
'num_k' : const である変数へは割り当てることはできません

と、コンパイルエラーが表示され、ビルドできません。
つまり、constで宣言した引数は、関数内で値の変更ができないということになります。

スポンサーリンク
 
スポンサーリンク