简体   繁体   English

-> std :: ostream&是什么意思?

[英]What does ->std::ostream& mean?

Here is the part of codes that i cannot understand.This is a func definition. 这是我无法理解的代码部分,这是一个func定义。

using sPtr = std::shared_ptr < std::vector<int> >;
auto print(sPtr vec) ->std::ostream&;

what does it mean by -> std::ostream& ? -> std :: ostream&是什么意思? Is it necessary or not ? 是否有必要? In my opinion, 在我看来,

void print (sPtr vec) ;

I am learning CPP5 ch12 now, and the code is from github Mooophy/Cpp-Primer; 我现在正在学习CPP5 ch12,代码来自github Mooophy / Cpp-Primer; Thanks everyone's advice. 感谢大家的建议。

print is a function taking a sPtr as an input and returning an std::ostream& . print是将sPtr作为输入并返回std::ostream&的函数。 The syntax being used was introduced in C++11, and it's called "trailing return type" . 所使用的语法是在C ++ 11中引入的,称为“回程返回类型”

The declaration of print can be rewritten as follows: print声明可以重写如下:

std::ostream& print(sPtr vec);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 “friend std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, LinkedList&amp; list)”是什么意思? - What does “friend std::ostream& operator<<(std::ostream& out, LinkedList& list)” mean? ostream&......这里的&#39;&&#39;是什么? - ostream&…what is the '&' here? 什么是重载`&lt;&lt;`时`std :: ostream&(* f)(std :: ostream&)`,为什么我需要它? - What is `std::ostream& (*f)(std::ostream &)` when overloading `<<` and why I would need it? 这个std :: ostream相关的堆栈跟踪意味着什么? - What does this std::ostream related stack trace mean? &#39;运算符&lt;&lt;(std :: ostream&,int&)&#39;不明确 - 'operator<<(std::ostream&, int&)’ is ambiguous 对于这个朋友重载运算符 function 而不仅仅是 std::cout,std::ostream&amp; out 的目的是什么? - What is the purpose of std::ostream& out for this friend overloaded operator function and not just std::cout? 无法将std :: cout传递给ostream&构造函数 - Cannot pass std::cout to ostream& constructor 没有已知的从std :: ostream *到std :: ostream&的转换 - No known conversion from std::ostream* to std::ostream& std :: ostream&运算符&lt;&lt;类型推导 - std::ostream& operator<< type deduction std :: ostream&运算符&lt;&lt;(std :: ostream&sstr,const T&val)的模棱两可的重载 - Ambiguous overload of std::ostream& operator<<(std::ostream& sstr, const T& val)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM