加载中
鸭子类型

在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象的有效语义,不是继承自特定的类或实现特定的接口,而是"当前方法和属性的集合"。这个概念的名字...

2016/12/14 19:46
24
Golang interface类型

我们知道 Golang 中没有 class 的概念,而是通过 interface 类型转换支持在动态类型语言中常见的 鸭子类型达到运行时多态的效果。官方文档中对 Interface 是这样定义的: An interface type ...

2016/12/14 20:01
93
C++ 强制类型转换

static_cast、dynamic_cast、const_cast和reinterpret_cast

2016/06/04 15:03
32
C++ map和unordered_map自定义key

一、map 1)最简单的方法就是实现该自定义类型的<操作符,代码如下: class Foo { public:     Foo(int num_)         : num(num_)     {     }     bool operator...

C++11 Lambda 表达式

在 C++ 11 中,lambda 表达式是一种在调用处或函数参数处,定义匿名函数对象的简便方法。它与普通函数不同的是,lambda必须使用尾置返回来指定返回类型。 Capture 子句 Capture 子句可以访问...

C++ Primer Plus(三)——处理数据

面向对象编程OOP的本质是设计并扩展自己的数据类型。 内置的C++数据类型分为两组:基本类型和符合类型,其中基本类型仅仅包括整数与浮点数。 1. 要把信息存储在计算机中,程序必须记录3个基本...

Golang Package-flag

go语言提供的flag包可以解析命令行的参数

2016/12/01 19:44
39
C time_t 数据类型

包含文件: <time.h> #ifndef __TIME_T #define __TIME_T     /* 避免重复定义 time_t */ typedef long     time_t;    /* 时间值time_t 为长整型的别名*/ #endif 既然...

C++
2015/10/12 13:44
62
C++ Primer Plus(十一)—— 使用类

不要返回指向局部变量或临时对象的引用,函数执行完毕后,局部变量和临时对象都将消失,引用将指向不存在的数据。 C++对用户定义的运算符重载的限制: 重载的运算符不必是成员函数,但必须至...

C++ 迭代器

标准库为每一种标准容器(包括 vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为...

2015/09/09 14:13
38
C++ Primer Plus(八)——函数探幽

程序员将函数作为自己的内联函数时,编译器不一定会满足这种要求。他可能认为函数过大或是函数自己调用了自己,或有些编译器不支持这种特性。 如果函数定义占用多行,作为内联函数就不太合适...

C++ 多态的实现原理

1、基本概念 1)用 virtual 关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2)存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对...

STL find和find_if

一、find()算法 template<class InputIterator, class T>   InputIterator find ( InputIterator first, InputIterator last, const T& value )   {     for ( ;firs...

C++ Primer Plus(五)——循环和关系表达式

优先级表表明,赋值运算符是从右向左结合的 定义一个const值来表示数组中元素的个数是一个好办法 对同一条语句的同一个值递增或递减多次,C++没有定义这种行为,也就是说这条语句在不同的系统...

2015/11/15 18:22
79
Golang 异常处理机制——defer, error, panic, recover

一、前言 在实际的项目中,对于异常的最佳实践很多,在使用不同的语言开发不同类型的程序时,有不同的建议。Google C++ Style 中提到 Google 内部的 C++ 代码中不使用异常,社区也有很多关于...

C++ map的insert方法

关于map容器的insert成员说明: (1)map对象中一个给定键只对应一个元素。如果试图插入的元素所对应的键已在容器中,则insert将不做任何操作; (2)含有一个或一对迭代器形参的insert函数版...

2016/09/09 10:05
192
C++ new和delete重载

一、重载new/delete的基本格式 //重载new格式如下: void *operator new (size_t size) { .......//完成分配工作 return pointer_to_memory; } //重载delete格式如下: void operator d...

2016/10/14 11:05
17
C++ Primer Plus(十)——对象和类

采用OOP方法时,首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作,完成对接口的描述后,需要确定如何实现接口和数据存储,最后使用新的设计方案 创建出程序...

C++ Primer Plus(四)——复合类型

只能在定义数组时才能初始化,不能将一个数组赋值给另一个数组,但可以使用下标分别赋值给数组元素,但可以将一个string对象赋值给另一个string对象 如果只对数组的一部分初始化,其他元素自...

C++ 虚函数和虚继承浅析

一、虚函数 定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数 语法:virtual 函数返回类型 函数名(参数表) { 函数体 } 用途:实现多态性,通过指向派生类的基...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部