01 工作上认识个老哥,四十多岁,有意思的人。 他在一线门户做过电商一把手,后来出来单干,又经历过两次创业。无论职业经理人,还是创业当老板,他保持着每周工作 100 小时以上的习惯。 和他喝过了一次酒,发现个有趣的事情:在如此高强度的工作状态下,他却从来没感到过“痛苦,难受,度日如年”。创业之路,百 ...
分类:
其他好文 时间:
2018-06-14 01:18:40
阅读次数:
209
?之前我们学习了类模板,今天我们来看看数组类模板。模板参数可以是数值型参数(非类型参数),使用?数值型模板参数是有限制的,如:a> 变量不能作为模板参数;b> 浮点数不能作为模板参数;c> 类对象不能作为模板参数。其本质是模板参数是在编译阶段被处理的单元,因此在编译阶段必须准确无误的唯一确定。
分类:
编程语言 时间:
2018-06-02 11:40:49
阅读次数:
183
?我们上节博客介绍了泛型编程思想,那么在 C++ 中是否可以将泛型的思想应用于类呢?答案肯定是显而易见的,在 C++ 中的标准库中,就是一些通用的类模板。我们先来看看类模板有哪些特性,它主要是用于存储和组织数据元素,类中数据组织的方式和数据元素的具体类型无关,如:数组类、链表类、Stack 类等。C++ 中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能。 ?在 C++ 中的类模板是以相同的方式处理不同的类型,并且在类声明前使用 template 进行标识。< typename T > 用于说明类中使用的泛指类型 T。类模板只能显示指定具体类型,无法自动推导;使用具体类型(Type)定义对象。声明的泛指类型 T 可以出现在类模板的任意地方;编译器对类模板的处理方式和函数模板相同:即 a> 从类模板通过具体类型产生不同的类;b> 在声明的地方对类模板代码本身进行编译;c> 在使用的地方对参数替换后的代码进行编译。
分类:
其他好文 时间:
2018-06-01 21:36:00
阅读次数:
142
我们到目前为止,学习了 C++ 这么久。提个小问题:在 C++ 中有几种交换变量的方法呢?通过定义宏代码块和定义函数。宏定义代码块的优点是代码可以复用,适合所有的类型,缺点是编译器不知道宏的存在,并不会去进行类型检查。定义函数的优点是编译器会去对类型进行检查,而缺点是根据类型需要重复定义函数,无法进行代码复用。那么在 C++ 中有没有解决方案集合两种方法的优点呢?就是泛型编程。泛型编程是指不考虑具体数据类型的编程方式。
分类:
其他好文 时间:
2018-06-01 19:11:10
阅读次数:
149
?我们在学习了 C++ 之后,对于动态内存分配便有了两种方式。new 和 malloc 的区别是什么呢?delete 和 free 又有何区别?new 关键字与 malloc 函数的区别可以从以下几个方面说:1、new 关键字是 C++ 的一部分,malloc 是由 C 库提供的函数;2、new 是以具体类型为单位进行内存分配,malloc 以字节为单位进行内存分配;3、new 在申请内存空间时可进行初始化,malloc 进根据需要申请定量的内存空间。
分类:
其他好文 时间:
2018-06-01 10:53:33
阅读次数:
154
?我们在学习了 C++ 的继承之后,有没有想过一个类是否被允许继承自多个父类呢?那么在 C++ 中是支持编写多重继承的代码的,即一个子类可以拥有多个父类。此时子类拥有所有父类的成员变量,子类继承所有父类的成员函数,子类对象可以当作任意父类对象来使用。那么多重继承的语法如下所示,其本质与单继承相同!
分类:
其他好文 时间:
2018-05-31 22:03:51
阅读次数:
157
我们在 C++ 的学习中,在进行面向对象分析时,会发现一些抽象的概念。那么在面向对象的语言中,它们是怎么进行描述的呢?比如图形的面积该如何计算?图形可以分为矩形、圆形等。动物都有什么属性?比如老虎、狮子等。那么在现实中需要知道具体的图形类型才能求面积,所以对概念上的“图形”求面积是没有意义的!此时的 Shape 只是一个概念上的类型,没有其具体对象!那么 Shape 类有存在的必要吗?下来我们来说说面向对象中的抽象类:a> 可用于表示现实世界中的抽象概念;b> 是一种只能定义类型,而不能产生对象的类;c> 只能被继承并重写相关函数;d> 直接特征是相关函数没有完整的实现。Shape 是现实世界中各种图形的抽象概念,因此:程序中必须能够反映抽象的图形;程序中通过抽象类表示图形的概念;抽象类不能创建对象,只能用于继承。在 C++ 语言中没有抽象类的概念,可通过纯虚函数来实现抽象类。纯虚函数是指只定义原型的成员函数,如果一个 C++ 类中存在纯虚函数便就成为了抽象类。
分类:
编程语言 时间:
2018-05-31 11:28:58
阅读次数:
163
我们学习了 C++ 这么长时间了,我们来看看 C++ 中对象的本质。它里面是用 class 定义的对象,class 是一种特殊的 struct。在内存中 class 依旧可以看做变量的集合,class 与 struct 遵循相同的内存对齐规则。class 中的成员函数与成员变量是分开存放的,及每个对象有独立的成员变量,所有对象共享类中的成员函数。那么我们如果在 class 和 struct 中同时定义相同的成员变量的话,它们所占的内存大小会一样嘛?
分类:
编程语言 时间:
2018-05-30 19:14:51
阅读次数:
173
我们之前学习了函数重写,它便是在父类中被重写的函数依然会继承给子类,那么子类中重写的函数将覆盖父类中的函数,通过作用域分辨符(::)可以访问到父类中的函数。最后在全局函数中通过传递父类的指针,传递进去的是子类对象,竟然调用的不是子类中的成员函数。 下来我们就先来介绍一个概念,那便是 C++ 中的三大特性之一多态。我们在面向对象中期望的行为是:根据实际的对象类型来自动判断调用的重写函数。父类指针(引用)指向,如果是父类对象则调用父类中定义的函数,如果是子类对象则调用子类中定义的重写函数。 面向对象中的多态的概念:根据实际的对象类型决定函数调用的具体目标,同样的调用语句在实际运行时有多种不同的表现形态。
分类:
其他好文 时间:
2018-05-29 10:58:06
阅读次数:
144
凌晨三点不睡的人不只有区块链里的“韭菜”,还有利用漏洞疯狂提额的“黑户”。 放水 5月25日1:10,光大银行“放水”了。 所谓放水,是一句黑话,意思是银行在面临业绩压力的时候,会放松审核规则,以完成业绩。具体到行为上,可表现为信用卡审核放宽,额度提升等。但这一次的放水,即使是“黑户”也在范围之内, ...
分类:
其他好文 时间:
2018-05-29 10:16:51
阅读次数:
405