摘要: • 二叉树节点类型BTNode: 1 typedef struct node 2 { 3 char data; 4 struct node *lchild, *rchild; 5 } BTNode; 创建二叉树 1 void CreateBTree(BTNode *&b, char *str) 2 阅读全文
posted @ 2018-05-09 19:37 苏格拉底的落泪 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 右值引用 左值和右值 (1)两者区别: ①左值:能对表达式取地址、或具名对象/变量。一般指表达式结束后依然存在的持久对象。 ②右值:不能对表达式取地址,或匿名对象。一般指表达式结束就不再存在的临时对象。 总结:一般而言,一个左值表达式表示的是一个对象的身份,而一个右值表达式表示的是对象的值。 (2) 阅读全文
posted @ 2018-05-09 18:22 苏格拉底的落泪 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 #include <memory> 3 4 struct Foo 5 { 6 Foo() { std::cout << "Foo...\n"; } 7 ~Foo() { std::cout << "~Foo...\n"; } 8 }; 9 10 str 阅读全文
posted @ 2018-05-09 16:19 苏格拉底的落泪 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 类模板 题目描述:实现StrBlob的模板版本。 阅读全文
posted @ 2018-05-09 16:08 苏格拉底的落泪 阅读(195) 评论(0) 推荐(0) 编辑
摘要: contexpr 1. constexpr变量 1对于修饰的变量而言,const并未区分出编译常量和运行常量;constexpr限定在编译器常量。 2. constexpr函数 #include <iostream> #include <array> using namespace std; con 阅读全文
posted @ 2018-05-09 12:31 苏格拉底的落泪 阅读(263) 评论(0) 推荐(0) 编辑
摘要: StrVec类的设计 【题目描述】:我们将实现标准库vector类的一个简化版本,我们所做的一个简化是不使用模板,我们类只用于string,因此,它被命名为StrVec。 3.5节练习 • 编写标准库string类的简化版本,命名为string。 阅读全文
posted @ 2018-05-09 09:37 苏格拉底的落泪 阅读(309) 评论(0) 推荐(0) 编辑