摘要: 递归 算法实际上是一种分而治之的方法,它把复杂问题分解为简单问题来求解。递归的特点包括:递归过程简洁、易编、易懂;递归过程效率低、重复计算多。 考虑递归的执行效率低,可以尝试将递归过程转换为非递归过程。本文就是来探讨怎么转换的。 将递归算法转换为非递归算法有两种方法,一种是直接求值(迭代/循环),不 阅读全文
posted @ 2018-06-15 00:04 走出半生丶仍是少年 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: 公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承( 阅读全文
posted @ 2018-06-15 00:04 走出半生丶仍是少年 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 这篇文章仅仅针对C语言存在的隐式类型转换做一些分析,关于C++的这方面研究,有时间我再另外写一篇文章。 关于隐式类型转换,是指发生在没有明确说明的情况下(C语言风格的强制类型转换就是属于我们程序员有明确说明的),编译器自动帮我们执行的类型转换。 通常同类型的数据进行运算、比较和赋值的时候我们是不需要 阅读全文
posted @ 2018-06-15 00:03 走出半生丶仍是少年 阅读(236) 评论(0) 推荐(1) 编辑
摘要: 由于之前对C++的粗浅认知,并没有发现C++中直接调用构造函数的用法,偶然间看到别人的代码中有这一种写法,所以才深入了解了。 现在我们直接从代码中分析这一用法。 代码如下: A ptr = &A(5); const A& a = A(5); 这样只要a存在,由A(5)产生的临时对象就会存在。 阅读全文
posted @ 2018-06-15 00:02 走出半生丶仍是少年 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C )或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Stud 阅读全文
posted @ 2018-06-15 00:01 走出半生丶仍是少年 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 相同点: 都可用于申请动态内存和释放内存。 不同点: (1)操作对象有所不同。 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之 阅读全文
posted @ 2018-06-14 23:24 走出半生丶仍是少年 阅读(173) 评论(0) 推荐(0) 编辑
摘要: "上一篇文章" 分析了互联网的总体构思,从下至上,每一层协议的设计思想。 这是从设计者的角度看问题,今天我想切换到用户的角度,看看用户是如何从上至下,与这些协议互动的。 ============================================================== ( 阅读全文
posted @ 2018-06-14 23:20 走出半生丶仍是少年 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol 阅读全文
posted @ 2018-06-14 23:09 走出半生丶仍是少年 阅读(85) 评论(0) 推荐(0) 编辑
摘要: C++中为了避免名字定义冲突,特别引入了名字空间的定义(namespace),当代码中用 std::cout std::cout`是旧的C头文件,对应的是基于char 的字符串处理函数; ``是包装了std的C++头文件,对应的是新的string类; ``是对应旧的C头文件的std版本,基于char 阅读全文
posted @ 2018-06-14 23:00 走出半生丶仍是少年 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 这里我用的编译器是Dev c++进行测试的,在研究芯片代码加密的时候偶然发现的const常量也是可以被恶意修改的,所以我在Dev c++里进行了测试,结果发现果不其然。但是这种行为出现在C/C++里我个人觉得是不难理解的,使用C语言风格的强制类型转换本来就是强大而又带有危险的,并且我认为c/c++提 阅读全文
posted @ 2018-06-14 22:55 走出半生丶仍是少年 阅读(206) 评论(0) 推荐(0) 编辑