有人可以解释这些函数返回类型的区别

时间:2016-09-18 21:08:09

标签: c++ c++11

我不明白以下返回类型的区别,有些甚至可以编译?

const bool && const Method1(){
    .....
}

这是什么回报?常量(rval)引用常量值?

const bool const Method1(){
    .....
}

常量布尔常量(我不明白如果我返回一个值,这里怎么会有两个常量)

const bool & const Method1(){
    .....
}

也不知道,不断引用恒定值?

哪一个最适合用于只读返回值?

1 个答案:

答案 0 :(得分:0)

  1. const bool const Method1(); 不编译。

  2. const bool&& Method1(); 它汇编。关于它的实用程序here一些引用。

  3. const bool & const Method1();无法编译。

  4. 参考herehere

    更新

    使用 Visual Studio ,它给了我

    main.cpp(5): warning C4114: same type qualifier used more than once
    main.cpp(6): warning C4227: anachronism used: qualifiers on reference are ignored
    

    只是说Visual Studio忽略了限定符(表单(1)(3))。