c++関数にconstを付ける意味:
1822 ワード
定義したクラスのメンバー関数には、クラスのデータ・メンバーを変更しないメンバー関数がよくあります.つまり、これらの関数は読み取り専用関数であり、クラスのデータ・メンバーの値を変更する関数もあります.データメンバーを変更しない関数にconstキーワードを付けて識別すると,プログラムの可読性が向上することは明らかである.実際には、プログラムの信頼性も向上し、constのメンバー関数として定義されており、データ・メンバーの値を変更しようとすると、コンパイラはエラーで処理されます.constメンバー関数とconstオブジェクトは、実際には、constメンバー関数には定数オブジェクト相関というもう一つの役割があります.組み込まれたデータ型では、定数を定義できます.ユーザーがカスタマイズしたクラスでも、定数オブジェクトを定義できます.1、非静的メンバー関数の後にconst(非メンバー関数または静的メンバーの後に追加するとコンパイルエラーが発生する)2、メンバー関数の暗黙的な入力を表すthisポインタはconstポインタであり、このメンバー関数では、そのクラスのメンバーを任意に変更する操作は許可されないことを決定します(thisポインタに対するconst参照が暗黙的に含まれているため).3、唯一の例外はmutable修飾のメンバーです.constを追加したメンバー関数は、非constオブジェクトとconstオブジェクトで呼び出すことができますが、constを追加しないメンバー関数は、非constオブジェクトでのみ呼び出されます.
c++関数の前後でconstの役割を使用します.前にconstで示す戻り値はconst である.の後にconstを付けて関数を表すclassのメンバー を修正することはできません
この2つの関数を見てください
const int getValue();
int getValue2() const;
ソースファイルでの実装
作者:https://blog.csdn.net/SMF0504/article/details/52311207本文は博主のオリジナルの文章で、転載して博文のリンクを添付してください!
char getData() const{
return this->letter;
}
c++関数の前後でconstの役割を使用します.
この2つの関数を見てください
const int getValue();
int getValue2() const;
/*
* FunctionConst.h
*/
#ifndef FUNCTIONCONST_H_
#define FUNCTIONCONST_H_
class FunctionConst {
public:
int value;
FunctionConst();
virtual ~FunctionConst();
const int getValue();
int getValue2() const;
};
#endif /* FUNCTIONCONST_H_ */
ソースファイルでの実装
/*
* FunctionConst.cpp
*/
#include "FunctionConst.h"
FunctionConst::FunctionConst():value(100) {
// TODO Auto-generated constructor stub
}
FunctionConst::~FunctionConst() {
// TODO Auto-generated destructor stub
}
const int FunctionConst::getValue(){
return value;// const, .
}
int FunctionConst::getValue2() const{
// class FunctionConst value
value = 15;// , const
return value;
}
作者:https://blog.csdn.net/SMF0504/article/details/52311207本文は博主のオリジナルの文章で、転載して博文のリンクを添付してください!