【发布时间】:2016-08-23 15:03:08
【问题描述】:
阅读C++ Primer, 5th Edition中一个练习的答案,我发现了这段代码:
#ifndef CP5_ex7_04_h
#define CP5_ex7_04_h
#include <string>
class Person {
std::string name;
std::string address;
public:
auto get_name() const -> std::string const& { return name; }
auto get_addr() const -> std::string const& { return address; }
};
#endif
是什么
const -> std::string const&
在这种情况下是什么意思?
【问题讨论】:
-
尾随返回类型语法。基本上,
auto func() -> type=type func(),但第一个有更多的功能。在您的情况下,它没有任何优势,可能是因为编写代码的人比普通语法更喜欢它。 -
表示它是一个 get only 属性。
-
@FirstStep:C++ 没有“属性”。
-
@Destructor 见:stackoverflow.com/questions/38541155/…
-
@FirstStep:C++ 没有“方法”。