Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
joebiden
interview
提交
aaaa9064
I
interview
项目概览
joebiden
/
interview
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
interview
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
aaaa9064
编写于
6月 20, 2018
作者:
辉哈
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加 decltype、修改引用折叠
上级
ee9e1b00
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
4 deletion
+31
-4
README.md
README.md
+31
-4
未找到文件。
README.md
浏览文件 @
aaaa9064
...
...
@@ -216,9 +216,7 @@ int main()
### assert()
断言,是宏,而非函数。assert 宏的原型定义在
`<assert.h>`
(C)、
`<cassert>`
(C++)中,其作用是如果它的条件返回错误,则终止程序执行。
如
断言,是宏,而非函数。assert 宏的原型定义在
`<assert.h>`
(C)、
`<cassert>`
(C++)中,其作用是如果它的条件返回错误,则终止程序执行。如:
```
cpp
assert
(
p
!=
NULL
);
...
...
@@ -588,6 +586,35 @@ enum color { red, yellow, green };
enum
{
floatPrec
=
6
,
doublePrec
=
10
};
```
### decltype
decltype 关键字用于检查实体的声明类型或表达式的类型及值分类。语法:
```
cpp
decltype
(
expression
)
```
<details><summary>
decltype 使用
</summary>
```
cpp
// 尾置返回允许我们在参数列表之后声明返回类型
template
<
typename
It
>
auto
fcn
(
It
beg
,
It
end
)
->
decltype
(
*
beg
)
{
// 处理序列
return
*
beg
;
// 返回序列中一个元素的引用
}
// 为了使用模板参数成员,必须用 typename
template
<
typename
It
>
auto
fcn2
(
It
beg
,
It
end
)
->
typename
remove_reference
<
decltype
(
*
beg
)
>::
type
{
// 处理序列
return
*
beg
;
// 返回序列中一个元素的拷贝
}
```
</details>
### 引用
#### 左值引用
...
...
@@ -606,7 +633,7 @@ enum { floatPrec = 6, doublePrec = 10 };
#### 引用折叠
*
`X& &`
、
`X& &&`
、
`X&& &`
可折叠成
`X&`
*
`X&& &&`
可折叠成
`X&`
*
`X&& &&`
可折叠成
`X&
&
`
### 宏
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录