C++の演算子オーバーロードのよくある例として、前置増分演算子と後置増分演算子がありますよね。
C++
1//前置 2C& C::operator++() 3{ 4 ++cnt; 5 return *this; 6} 7 8//後置 9C C::operator++(int) 10{ 11 c temp = *this; 12 ++*this; 13 return temp; 14} 15
ここで疑問なのですが、なぜ後置の場合は引数にダミーのintを入れるのですか?
また、後置と前置の記述は、機械側はどのように判別しているのですか?
関数のシグネチャが違う点で判別しているのはわかるんですが、なぜ引数を取るほうが後置インクリメントになって、なにもないほうが前置インクリメントになるのかわかりません。
よろしくおねがいします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/02 06:52