作業中に繰り返しコードがあり、それを取り除きたいので、C ++ではマクロを使用するのは良い考えではありませんが、代わりにインライン関数を使用する必要があります。この関数をインラインとして使用するのは良い考えです。 :
list<Data>::iterator foo(int data){
if(dataExists(data)){
list<Data>::iterator i;
for(i = dataClass.begin(); i != dataClass.end(); ++i){
if(i->getData() == data){
break;
}
return i; //here I have one more problem, what can I return if data doesn't exist?
}
この機能は非常に危険だと思います。コードを改善するにはどうすればよいですか?