LoginSignup
2
2

More than 3 years have passed since last update.

後置返り値型のconstの場所

Posted at

C++11導入の後置返り値型がなかなか便利なので、よく使っています。
そこでメソッドにおけるconstの付け方で ? となったので
備忘録として

結論


class Person {
    int age;

    auto cfunc() const -> const int {

       return age;
    }
...


メソッドのconst

メソッドのconst は 2(3)種類あります。
1つは返り値がconstであることを示すもの
2つはクラスの内容に変更を与えないことを保証するもの

これが普通のメソッドだとそれぞれこうなります。


class Person {
    int age;

     (1)               (2)
    const int cfunc() const {

       return age;
    }
...

これを後置文法に直したときどうするかにしばらく悩みました。

auto cfunc() -> const int const {

   return age;
}

とか、多分(2)のconstは最後に置くという思い込みがあったのかと
結局こうでした。


class Person {
    int age;

    auto cfunc() const -> const int {

       return age;
    }
...


2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2