utubyou009 utubyou009 2019-01-11 22:25:12

[C++] 後置++のダミー引数を使ってみた。 このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

c++ において、後置++、--をオーバーロードする場合、ダミーのint型引数が必用です。これは普通使いませんが、もったいないので使ってみました。通常はダミーには0が渡されるらしいですね。

#include <iostream>

class A {
private:
  int val_;
public:
  int val() const {return val_;}
  int& val() {return val_;}
  A(int n): val_(n){}
  
  A operator++(int dummy){
    A tmp{val_};
    val_ += dummy + 1;
    return tmp;
  }
};
  
int main(){
  A a{10};
  a++; // a.val_ が1増える
  std::cout << a.val() << std::endl;
  a.operator++(5); //a.val_ が6増える
  std::cout << a.val() << std::endl;
}

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント

まだコメントがありません。最初にコメントを残しませんか?

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[C] 何がしたかったのか

このエントリーをはてなブックマークに追加

10年位前、炎上しているプロジェクトの支...

void funcX() {
    int a;
    a = func...

鑑賞する »

[C] ×有限ループ ◯無限ループ

このエントリーをはてなブックマークに追加

有限ループのはずが、無限ループに... ...

int i,j;
for(i=0;i<100;i++) {
 for(j=0...

鑑賞する »