Skip to content

Commit

Permalink
hotfix
Browse files Browse the repository at this point in the history
  • Loading branch information
hanxiaomax committed Feb 22, 2024
1 parent bbd7165 commit d70d958
Show file tree
Hide file tree
Showing 14 changed files with 932 additions and 925 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
## develop



## Develop

```
mkdocs serve
Expand Down
2 changes: 1 addition & 1 deletion docs/17-9-multiple-inheritance.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ tags:

-

到目前为止,我们介绍的所有继承示例都是单继承——也就是说,每个继承的类都有且只有一个父类。不过,C++其实还支持多重继承。[[Multiple inheritance|多重继承]]使得派生类可以从多个父类继承成员
到目前为止,我们介绍的所有继承示例都是单继承——也就是说,每个继承的类都有且只有一个父类。不过,C++其实还支持多重继承。多重继承使得派生类可以从多个父类继承成员

假设我们想写一个程序来记录一群老师的信息。老师”是一个“人。然而,教师也是雇员(如果为自己工作,他们就是自己的雇主)。多重继承可用于创建从`Person``Employee`继承属性的`Teacher`类。要使用多重继承,只需一次指定每个基类(就像单继承一样),用逗号分隔。

Expand Down
2 changes: 1 addition & 1 deletion docs/17-x-Chapter-17-comprehensive-quiz.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@ tags:

[[17-9-multiple-inheritance|17.9 - 多重继承]]

- 当派生类从多个父类进行基础时,称为[[多重继承]]。一般来说应该避免多重继承,除非它能够极大地降低设计复杂度。
- 当派生类从多个父类进行基础时,称为多重继承。一般来说应该避免多重继承,除非它能够极大地降低设计复杂度。
2 changes: 1 addition & 1 deletion docs/18-8-virtual-base-classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ tags:



在上一章 [[17-9-multiple-inheritance|17.9 - 多重继承]] 一课中,我们谈论了[[the-diamond-problem|菱形继承问题]]。本章我们会继续该话题。
在上一章 [[17-9-multiple-inheritance|17.9 - 多重继承]]一课中,我们谈论了[[the-diamond-problem|菱形继承问题]]。本章我们会继续该话题。

*注意:本节是高级主题,可以作为选修。*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ void printDouble()

## 函数形参和实参

很多时候,我们希望能够在调用函数时将信息一并传入,这样该函数就可以基于此数据进行接下来的工作。例如,如果你希望编写一个计算两数和的函数,那么你必须有办法告诉在调用函数时,告诉函数需要相加的两个数。 否则,函数如何才能知道要将什么相加呢?通过函数的[[docs/parameters|形参]][[arguments|实参]]可以完成上述工作。
很多时候,我们希望能够在调用函数时将信息一并传入,这样该函数就可以基于此数据进行接下来的工作。例如,如果你希望编写一个计算两数和的函数,那么你必须有办法告诉在调用函数时,告诉函数需要相加的两个数。 否则,函数如何才能知道要将什么相加呢?通过函数的[[parameters|形参]][[arguments|实参]]可以完成上述工作。

函数的**形参**是能够在函数内部使用的变量。形参和函数内部定义的变量几乎是完全一样的,除了:形参总是由主调函数初始化并提供给被调函数。

Expand Down
2 changes: 1 addition & 1 deletion docs/4-6-Fixed-width-integers-and-size_t.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ int main()
4
```

和整型的大小可以改变一样, `std::size_t` 同样可能会改变。`std::size_t` 只保证它为无符号,并且最小为16位,但是在大多数系统中,它的实际大小通常等于应用程序的[[address-width|地址宽度(address-width)]]。即对于32位应用程序,`std::size_t` 通常为 32 位无符号整型,而对于 64 位程序,`size_t`通常为64位无符号整型。`size_t` 被定义为要足够大能以便能表示对应系统能够创建的最大的对象(以字节计)的尺寸。例如,如果 `std::size_t` 是4个字节宽,则该系统能够创建的最大的对象不可能超过 4,294,967,295 字节,因为这是4字节无符号整型能够存放的最大值。不过,这只是对象尺寸的理论上限,实际上限取决于你使用的编译器。
和整型的大小可以改变一样, `std::size_t` 同样可能会改变。`std::size_t` 只保证它为无符号,并且最小为16位,但是在大多数系统中,它的实际大小通常等于应用程序的地址宽度。即对于32位应用程序,`std::size_t` 通常为 32 位无符号整型,而对于 64 位程序,`size_t`通常为64位无符号整型。`size_t` 被定义为要足够大能以便能表示对应系统能够创建的最大的对象(以字节计)的尺寸。例如,如果 `std::size_t` 是4个字节宽,则该系统能够创建的最大的对象不可能超过 4,294,967,295 字节,因为这是4字节无符号整型能够存放的最大值。不过,这只是对象尺寸的理论上限,实际上限取决于你使用的编译器。

从定义上看,任何尺寸大于`size_t`能够表示的值的对象,都被看做是错误的(会导致编译错),因为此时`size_t`已经不能够正确表示该对象的大小(会发生无符号数翻转)。

Expand Down
16 changes: 8 additions & 8 deletions docs/8-10-Function-overload-differentiation.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ tags:

!!! info "扩展阅读"

对于**成员函数**,还会考虑附加的函数级限定符:
|函数级限定符 |是否用于重载|
|---|---|
|`const` or `volatile`| Yes
|[[ref-qualifier|引用限定符(Ref-qualifiers)]] |Yes
例如,`const` 成员函数可以与其他完全相同的非 `const` 成员函数区别开来(即使它们共享相同的形参集)。
对于**成员函数**,还会考虑附加的函数级限定符:

| 函数级限定符 | 是否用于重载 | |
| --------------------- | ------ | --- |
| `const` or `volatile` | Yes | |
| 引用限定符(ref-qualifiers) | Yes | |

例如,`const` 成员函数可以与其他完全相同的非 `const` 成员函数区别开来(即使它们共享相同的形参集)。


## 基于参数个数进行重载
Expand Down
4 changes: 2 additions & 2 deletions docs/9-10-Pass-by-address-part-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ int main()
```cpp
#include <iostream>

// [[maybe_unused]] gets rid of compiler warnings about ptr2 being set but not used
void nullify([[maybe_unused]] int* ptr2)
// \[\[maybe_unused\]\] gets rid of compiler warnings about ptr2 being set but not used
void nullify(\[\[maybe_unused\]\] int* ptr2)
{
ptr2 = nullptr; // Make the function parameter a null pointer
}
Expand Down
9 changes: 0 additions & 9 deletions docs/Multiple inheritance.md

This file was deleted.

Binary file modified docs/images/.DS_Store
Binary file not shown.
9 changes: 9 additions & 0 deletions docs/template-parameter-declaration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: 模板参数声明
alias: 模板参数声明
english: template-parameter-declaration
type: glossary
tags:
- 词汇表
- template-parameter-declaration
---
Loading

0 comments on commit d70d958

Please sign in to comment.