Symbol 数据类型 let s = Symbol(); typeof s; // "symbol" 是 ES6 继 Number,String,Boolean,Undefined,Null 之后引入的新数据类型 对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型. Symbol 函数的参数只是表示对当前 Symbol 值的描述 let s1 = Symbol('foo'); let s2 = Symbol('bar'); s1 // Sym…
在C++的“类”中经常遇到这样的函数, 返回值类型名 类名::函数成员名(参数表){ 函数体.} 双冒号的作用 ::域名解析符!返回值类型名 类名::函数成员名(参数表) { 函数体. } 这个是在类内声明函数后在类外定义的一种方法!如果不加"类名::"的话,编译系统就不会知道你的函数属于哪个类;另外,这样定义函数一定要在类中声明之后,说明它是类的成员函数才可以!在类内声明的时候就不需要::了,直接 返回值类型 函数名(参数表) 就可以了!…
唯一容器 Set ES6 提供了新的数据结构 Set Set 结构没有键名,只有键值(或者说 键名 和 键值 是同一个值) 它类似于数组,但是成员的值都是唯一的,没有重复的值 Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”, NaN 等于自身 它类似于精确相等运算符(===),而 精确相等运算符 认为NaN不等于自身 Set 结构的实例默认可遍历,它的默认遍历器生成函数就是它的 values 方法 Set.prototype[Symbol.it…
iterator 接口 只要部署了 iterator 接口 symbol(symbol.iterator), 则可以进行 for...of  遍历…
用一个实际代码来说明. class A { public: staticvoid staticmember(){cout<<"static"<<endl;}   //static member void nonstatic(){cout<<"nonstatic"<<endl;}          //nonstatic member virtualvoid virtualmember(){cout<<&qu…
6.2  类:当C++爱上面向对象 类这个概念是面向对象思想在C++中的具体体现:它既是封装的结果,同时也是继承和多态的载体.因此,要想学习C++中的面向对象程序设计,也就必须从“类”开始. 6.2.1  类的声明和定义 面向对象思想把现实世界中的所有事物都看成是对象,而类是对所有相同类型对象的抽象,是对它们总体的一个描述.比如,学校有很多老师,张老师.李老师.王老师,虽然每个老师各不相同,是不同的对象个体.但他们都是老师这一类型的对象,有着共同的属性(都有姓名.职务)和相同的行为(都能上课.批…
在用基类指针指向派生类时, 在基类析构函数声明为virtual的时候,delete基类指针,会先调用派生类的析构函数,再调用基类的析构函数. 在基类析构函数没有声明为virtual的时候,delete基类指针,只会调用基类的析构函数,而不会调用派生类的析构函数,这样会造成销毁对象的不完全. class A { public: ~A() { cout<<"A destruct"< }; class AA : public A { public: ~AA() { cout…
TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolean,Number,String,Array,Tuple,Enum,Any,Void,Null,Undefined,Never,Object. ==布尔类型 Boolean== let isDone: boolean = false *在变量名后用冒号:T(T 代表TS的类型)声明变量的类型. ==数…
主要内容: 1.C++类继承中的构造函数和析构函数 2.C++多态性中的静态绑定和动态绑定 3.C++多态性中析构函数声明为虚函数 1.C++类继承中的构造函数和析构函数 在C++的类继承中, 建立对象时,首先调用基类的构造函数,然后在调用下一个派生类的构造函数,依次类推: 析构对象时,其顺序正好与构造相反: 具体参考文章:http://www.cnblogs.com/AndyJee/p/4575385.html 2.C++多态性中的静态绑定和动态绑定 对象的静态类型:对象在声明是采用的类型,在…
近日需要将线程池封装成C++类,类名为Threadpool.在类的成员函数exec_task中调用pthread_create去启动线程执行例程thread_rounter.编译之后报错如下: spfs_threadpool.cpp: In member function ‘int Threadpool::exec_task(task*)’: spfs_threadpool.cpp:174: error: argument of type ‘void* (Threadpool::)(void*)…