mirror of
https://github.com/wuye9036/CppTemplateTutorial.git
synced 2024-03-22 13:11:16 +08:00
修改第二章小节名称;修正了示例代码。
This commit is contained in:
parent
50b2a8cffb
commit
e66f371182
|
@ -103,7 +103,11 @@ namespace _1_3
|
|||
template <uint8_t a, typename b, void* c> class B {};
|
||||
template <void (*a)()> class C {};
|
||||
template <void (A<3>::*a)()> class D {};
|
||||
|
||||
#if WRONG_CODE_ENABLED
|
||||
template <float a> class E {};
|
||||
#endif
|
||||
|
||||
void foo()
|
||||
{
|
||||
A<5> a;
|
||||
|
@ -116,7 +120,17 @@ namespace _1_3
|
|||
#endif
|
||||
}
|
||||
|
||||
#if WRONG_CODE_ENABLED
|
||||
const char* s = "abc";
|
||||
template <char const* s> class S
|
||||
{
|
||||
};
|
||||
|
||||
void foo2()
|
||||
{
|
||||
S<"abc"> i;
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename T>
|
||||
class ClassB
|
||||
|
|
|
@ -508,10 +508,11 @@ template <float a> class E {}; // ERROR: 别闹!早说过只能是整数类
|
|||
|
||||
从下一章开始,我们便进入了更加复杂和丰富的世界:讨论模板的匹配规则。其中有令人望而生畏的特化与偏特化。但是,请相信我们在序言中所提到的:将模板作为一门语言来看待,它会变得有趣而简单。
|
||||
|
||||
## 2. 模板世界的If-Then-Else:特化与偏特化
|
||||
###2.1 类模板的匹配规则:特化与部分特化
|
||||
###2.2 函数模板的重载、参数匹配、特化与部分特化
|
||||
###2.3 技巧单元:模板与继承
|
||||
## 2. 模板元编程基础
|
||||
###2.1 编程,元编程,模板元编程
|
||||
###2.2 模板世界的If-Then-Else:类模板的特化与偏特化
|
||||
###2.3 函数模板的重载、参数匹配、特化与部分特化
|
||||
###2.4 技巧单元:模板与继承
|
||||
|
||||
## 3 拿起特化的武器,去写程序吧!
|
||||
###3.1 利用模板特化规则实现If-Then-Else与Switch-Case
|
||||
|
|
Loading…
Reference in New Issue
Block a user