From e6cb6093d758878b6467c3aeef0b4d6e031dba76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=87=E4=BD=B3=E9=B9=8F?= Date: Wed, 8 Jul 2020 14:57:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=B1=E5=85=A5=E7=90=86=E8=A7=A3=E5=81=8F?= =?UTF-8?q?=E7=89=B9=E5=8C=96=E5=86=85=E5=AE=B9=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rt --- ReadMe.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 5ff32dc..d919083 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1830,18 +1830,18 @@ DoWork i; // (4) DoWork pf; // (5) ``` -首先,编译器分析(0), (1), (2)三句,得知(0)是模板的原型,(1),(2),(3)是模板(0)的特化或偏特化。我们假设有两个字典,第一个字典存储了模板原型,我们称之为`TemplateDict`。第二个字典`TemplateSpecDict`,存储了模板原型所对应的特化/偏特化形式。所以编译器在处理这几句时,可以视作 +首先,编译器分析(0), (1), (2), (3)四句,得知(0)是模板的原型,(1),(2),(3)是模板(0)的特化或偏特化。我们假设有两个字典,第一个字典存储了模板原型,我们称之为`TemplateDict`。第二个字典`TemplateSpecDict`,存储了模板原型所对应的特化/偏特化形式。所以编译器在处理这几句时,可以视作 ```C++ // 以下为伪代码 -TemplateDict[DoWork] = { +TemplateSpecDict[DoWork] = { DoWork, DoWork, DoWork }; ``` -然后 (4) 试图以`int`实例化类模板`DoWork`。它会在`TemplateDict`中,找到`DoWork`,它有一个形式参数`T`接受类型,正好和我们实例化的要求相符合。并且此时`T`被推导为`int`。(5) 中的`float*`也是同理。 +然后 (4) 试图以`int`实例化类模板`DoWork`。它会在`TemplateSpecDict`中,找到`DoWork`,它有一个形式参数`T`接受类型,正好和我们实例化的要求相符合。并且此时`T`被推导为`int`。(5) 中的`float*`也是同理。 ```C++ { // 以下为 DoWork 查找对应匹配的伪代码