Skip to Content
Effective Modern C++(中文版)
book

Effective Modern C++(中文版)

by Scott Meyers
April 2018
Intermediate to advanced
303 pages
4h 54m
Chinese
China Electric Power Press Ltd.
Content preview from Effective Modern C++(中文版)
型别推导
17
ParamType
是一个万能引用。
ParamType
既非指针也非引用。
这么一来,我们就有了三种型别推导场景进行分情况考察。在对它们逐一考察时,我
们仍采用前述模板和调用的一般形式。
template<typename
T
>
void f(
ParamType
param);
f(
expr
);
//
expr
来推导
T
ParamType
的型别
情况
1
ParamType
是个指针或引用,但不是个万能引用
最简单的莫过于当
ParamType
是个指针或引用,但不是万能引用的情形了。在这种情
况下,型别推导会这样运作:
1.
expr
具有引用型别,先将引用部分忽略。
2.
尔后,对
expr
的型别和
ParamType
的型别执行模式匹配,来决定
T
的型别。
例如,我们的模式如下:
template<typename T>
void f(
T&
param);
// param
是个引用
又声明了下列变量:
int x = 27;
// x
的型别是
int
const int cx = x;
// cx
的型别是
const int
const int& rx = x;
// rx
x
的型别为
const int
的引用
在各次调用中,对
param
T
的型别推导结果如下:
f(x);
// T
的型别是
int
param
的型别是
int&
f(cx);
// T
的型别是
const int
param
的型别是
const int&
f(rx);
// T
的型别是
const int ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

流畅的Python(第2版)

流畅的Python(第2版)

Luciano Ramalho
Go语言编程

Go语言编程

威廉·肯尼迪

Publisher Resources

ISBN: 9787519817749