一、 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). 总结: explicit关键字只需用于类内的单参 ...
分类:
其他好文 时间:
2019-01-05 13:30:39
阅读次数:
179
条款41:了解隐式接口和编译期多态 class支持显示接口和运行期多态 class的显示接口由函数的名签式构成(函数名称、参数类型、返回类型) class的多态通过virtual函数发生在运行期 template支持隐式接口和编译期多态 template的接口是隐式的,由具体的表达式决定 templ ...
分类:
编程语言 时间:
2019-01-03 22:37:49
阅读次数:
213
Dart是一个面向对象的语言,同时增加了混入(mixin)继承的特性。对象都是由类初始化生成的,所有的类都由Object对象继承。混入继承意味着尽管所有类(除了Object类)只有一个父类,但是类的代码体可以在多个类中重复使用。(个人理解:mixin,extends,implements,exte ...
分类:
其他好文 时间:
2019-01-03 00:03:22
阅读次数:
218
条款32:确定你的public继承塑模出is a关系 public继承意味着is a。适用于base class身上的每一个函数也一定适用于derived class。 条款33:避免遮掩继承而来的名称 几层作用域: global作用域 namespace作用域 Base class作用域 Driv ...
分类:
编程语言 时间:
2019-01-02 17:22:48
阅读次数:
198
为什么需要单例模式 在应用程序中,经常会用到单例模式,即这个类只能存在一个对象实例。 那么为什么需要这种模式,我们在一个程序应用中,只需要创建一次性的对象实例以节省内存资源,避免重复创建的开销,以便后面使用可以更快的访问。 如何写一个单例模式 单例作为所有设计模式中最简单的设计模式之一,其创建是非常 ...
分类:
其他好文 时间:
2018-12-28 23:39:29
阅读次数:
363
条款26:尽可能延后变量定义式的出现时间 C++推荐在使用对象前才定义对象(调用构造函数赋初值) 只在循环中使用的变量定义在循环内部(除非"赋值"成本低于"构造+析构"成本) 条款27:尽量少做转型动作 旧式风格转型 C风格转型 $(T)expression$ 函数风格转型 $T(expressio ...
分类:
编程语言 时间:
2018-12-27 22:48:32
阅读次数:
174
这个周末断断续续的阅读完了《Effective Python之编写高质量Python代码的59个有效方法》,感觉还不错,具有很大的指导价值,无论你是刚入门的新手还是有经验的老鸟都应抽空看看。下面将以最简单的方式记录这59条建议,并在大部分建议后面加上了说明和示例,文章篇幅大,请您提前备好瓜子和啤酒! ...
分类:
编程语言 时间:
2018-12-26 16:50:31
阅读次数:
191
1, 2.使用更为简洁的方式表达+ - * / package com.enum30demo2.www; import com.sun.org.apache.xpath.internal.operations.Minus; public enum Operation { PLUS{double ap ...
分类:
编程语言 时间:
2018-12-26 00:35:18
阅读次数:
259
[TOC] 本文积累一些高效的scala写法。 Ordering toSeq is not good idea because driver needs to put this in memory 但是通过函数传递ordering的方式比较慢,直接Ordering.by创建内置的Ordering,或 ...
分类:
其他好文 时间:
2018-12-26 00:28:50
阅读次数:
140
这三个UID分别是实际用户ID(real uid)、有效用户ID(effective uid)、保存的设置用户ID(saved set-user-ID)(SUID) 首先说这个实际用户ID,就是我们当前以哪个用户登录了;有效用户ID就是当前进程是以哪个用户ID来运行的,一般情况下是实际用户ID;如果 ...
分类:
其他好文 时间:
2018-12-25 11:40:22
阅读次数:
136