Home

Haskell 入门

背景 函数调用:函数名,空格,空格分隔的参数列表 函数调用拥有最高优先级 div 92 10 等价于 92 div 10 第一个函数 doubleUs x y = x + x + y + y

Read more

C++ Primer 笔记 第 13 章 拷贝控制

6.1 函数基础 局部静态对象在第一次经过时初始化。 6.2.5 可变形参 C++11 initializer_list<T> 传递的时候用 {} initializer_list 中的元素是常量 3.2 标准库类型 string #include <string> using std::string 3.2.1 定义和初始化 string 对象 string s1; // empty string s2(s1); // 副本;直接初始化 string s2 = s1; //和上面一样;拷贝初始化 string s3("value"); // string s3 = "value"; //和上面一样 string s4(n, 'c'); ...

Read more

内存管理

1 垃圾回收机制 引用计数机制为主,标记-清除和分代回收为辅。标记-清除机制用来解决计数引用带来的循环引用而无法释放内存的问题,分代回收机制是为提升垃圾回收的效率。 2 引用计数 引用计数增加: 一个对象被分配一个新名字 将其放入一个容器 减少: 使用 del 语句显式销毁 所在的容器销毁或者从容器中删除对象 别名超出作用域或被重新赋值 import sys a=[1,2] print(sys.getrefcount(a)) # 2 b=a print(sys.getrefcount(a)) # 3 print(sys.getrefcount(b)) # 3 del b print(sys.getrefcount(a)) # 2 c=[]...

Read more

C++ Primer 笔记 第 3 章 字符串、向量和数组

endl会刷新缓冲区 long long是C++11中新定义的 char表现为signed char还是unsigned char由编译器决定 加extern就只声明不定义了 const int *p=nullptr; 是底层 constexpr int *p=nullptr; 是顶层,指针本身不能变 const 和 typedef 一起出现时不能替换理解 decltype与类型紧密相关,多加一个括号时的结果永远是引用,需要初始化 3.1 命名空间的 using 声明 using std::cin; using namespace std; 头文件不应包含 using 声明 3.2 标准库类型 string #include <string> using st...

Read more

C++ Primer 笔记 第 6 章 函数

6.1 函数基础 局部静态对象在第一次经过时初始化。 6.2.5 可变形参 C++11 initializer_list<T> 传递的时候用 {} initializer_list 中的元素是常量 形参中的函数类型和函数指针类型可以转化,返回类型中不行。 using F = int(int, int); //函数类型 using PF = int()(int*, int); //指针类型 PF f1(int); F f1(int); auto f1(int) -> int () (int*, int); 类中的引用、const成员必须这样初始化 ConstRef (int ji): i(ii), ci(ii), ri(i){} 初始化顺序与类中出现的顺...

Read more

C++ Primer 笔记 第 3 章 字符串、向量和数组

3.1 命名空间的 using 声明 using std::cin; using namespace std; 头文件不应包含 using 声明 3.2 标准库类型 string #include <string> using std::string 3.2.1 定义和初始化 string 对象 string s1; // empty string s2(s1); // 副本;直接初始化 string s2 = s1; //和上面一样;拷贝初始化 string s3("value"); // string s3 = "value"; //和上面一样 string s4(n, 'c'); //n 个 c;直接初始化 使用等号就是拷贝初始化 3.2.2 ...

Read more

Fluent Python 笔记 第 20 章 属性描述符

描述符是实现了特定协议的类,这个协议包括 __get__、__set__ 和 __delete__ 方法。 property 类实现了完整的描述符协议。通常,可以只实现部分协议。其实,我们在真实的代码中见到的大多数描述符只实现了 __get__ 和 __set__ 方法,还有很多只实现了其中的一个。 描述符是 Python 的独有特征,不仅在应用层中使用,在语言的基础设施中也有用到。除了特性之外,使用描述符的 Python 功能还有方法及 classmethod 和 staticmethod 装饰器。理解描述符是精通 Python 的关键。本章的话题就是描述符。 20.1 描述符示例:验证属性 20.1.1 LineItem 类第3版:一个简单的描述符 实现了 __get__、__s...

Read more