随笔分类 -  C/C++

摘要:作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现。以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不对劲,知道自己回答错了。这几天特意看了一下,在此记录。 函数声明 #include <algorit 阅读全文
posted @ 2017-01-07 00:44 LonelyEnvoy 阅读(311) 评论(0) 推荐(0)
摘要:时间:2014.03.02 地点:基地 一、简述 Google 的C++规范号称世界上最优秀的编码规范,于是拿来研究下,已改善自己以后的工作,今天只先学习下它的命名规范。 二、命名规则 1.文件命名规则 文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。比如: cmd_sa 阅读全文
posted @ 2016-12-29 18:24 LonelyEnvoy 阅读(986) 评论(0) 推荐(0)
摘要:看看这段代码 先来看看下面这两行代码: 这两行代码是从Cocos2d-x中摘出来的,重点是这两行代码的定义啊。std::function这是什么东西?如果你对上述两行代码表示毫无压力,那就不妨再看看本文,就当温故而知新吧。 std::function介绍 类模版std::function是一种通用、 阅读全文
posted @ 2016-12-29 00:22 LonelyEnvoy 阅读(284) 评论(0) 推荐(0)
摘要:位域的定义和使用 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 阅读全文
posted @ 2016-11-15 12:52 LonelyEnvoy 阅读(8390) 评论(0) 推荐(0)
摘要:摘要:std::map作为一个容器存在一个典型应用就是作为关联数组来作用。在诸如Java等等语言中,关联数组广泛存在。std::map是一个容器,在它的概念框架中存在两个词:键和值,std::map把一个键与一个值相对,它相当于一个字典,把一个索引和一人内容对应起来。一般情况下,std::map用一 阅读全文
posted @ 2016-10-13 20:48 LonelyEnvoy 阅读(692) 评论(0) 推荐(1)
摘要:引言 异常,让一个函数可以在发现自己无法处理的错误时抛出一个异常,希望它的调用者可以直接或者间接处理这个问题。而传统错误处理技术,检查到一个局部无法处理的问题时: 1.终止程序(例如atol,atoi,输入NULL,会产生段错误,导致程序异常退出,如果没有core文件,找问题的人一定会发疯) 2.返 阅读全文
posted @ 2016-10-13 17:09 LonelyEnvoy 阅读(199) 评论(0) 推荐(0)
摘要:搞清楚这个之后我对C++真尼玛是万念俱灰。。C++这个女强人能学点儿C#小萝莉小鸟依人的优点么!!!!!!!!!!!!!! 嗯,其实C++的温柔没有被发现~ 她很贴心的发明了explicit这个关键字,如果把这个关键字加在构造函数之前,那么Test test2=test1;这样的初始化或者隐式类型转 阅读全文
posted @ 2016-10-13 16:54 LonelyEnvoy 阅读(423) 评论(0) 推荐(0)
摘要:数学基础 离散数学中的异或运算 a⊕b ,具有以下性质: a⊕b = b⊕a a⊕a = 0 a⊕0 = a a⊕(a⊕b) = (a⊕a)⊕b = b (a⊕b)⊕b = a⊕(b⊕b) = a 利用异或运算的这些性质,我们可以只用一个指针域,来实现一个双向链表。 单指针域双向链表的逻辑结构 下图 阅读全文
posted @ 2016-10-11 13:21 LonelyEnvoy 阅读(2030) 评论(0) 推荐(1)
摘要:1.简介 在C语言中,如果程序的运行出现异常、错误,我们想提供方案处理这些异常时,我们面临许多问题,如: (1)C语言没有提供统一(标准)的方式来处理错误; (2)无法保证错误会被正确的处理; (3)错误的传播无法控制,特别是在函数的嵌套调用时; … … 当程序在运行时发生错误,使得程序的继续运行变 阅读全文
posted @ 2016-10-10 19:44 LonelyEnvoy 阅读(1313) 评论(0) 推荐(0)
摘要:第一招虚函数 通过派生类来进行功能扩展是基本的面向对象的方式,这种方式大如下: class base { public: virtual ~base(){} virtual void fun() { cout << "基本功能" << endl; } }; class derive:public b 阅读全文
posted @ 2016-10-09 20:03 LonelyEnvoy 阅读(497) 评论(0) 推荐(0)
摘要:from: http://blog.csdn.NET/zhtsuc/article/details/2938614 关于C++ fstream的一个容易使用出错的地方 关于c++ 中 文件流的两个类,ifstream 和ofstream,大家也许并不陌生。 其负责c++的文件输入流 和 文件输出流。 阅读全文
posted @ 2016-10-08 22:37 LonelyEnvoy 阅读(5679) 评论(0) 推荐(0)
摘要:注意c/c++模板的定义和实现- - 定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C++编译器还无法分离编译,最好将实现代码和声明代码均放在头文件中。如:test.htemplate<class T>class CTest{ public: T& GetVal 阅读全文
posted @ 2016-09-30 13:08 LonelyEnvoy 阅读(705) 评论(0) 推荐(0)
摘要:前言: 以下的内容为我阅读c++沉思录18,19,20章的笔记以及自己的想法. 正文: 总所周知,c++的stl中提出了iterator的概念,这是C所没有的.在一般的使用中,iterator的行为很像c内建的指针.而在java和c#中索性就直接取消了指针,而采用类似iterator的做法来代替了指 阅读全文
posted @ 2016-09-26 15:56 LonelyEnvoy 阅读(10785) 评论(0) 推荐(1)
摘要:C11的新特性实在是太多了,这2个关键字关注的人倒是少了很多,其中有一个原因便是编译器支持得太慢了(VS到VS2013才支持上),不过这2个关键字那真是极为有用的,下面我们来看看。【default关键字】首先我们有一个字符串类: [cpp] view plain copy class CString 阅读全文
posted @ 2016-09-22 18:02 LonelyEnvoy 阅读(580) 评论(0) 推荐(0)
摘要:节选自《The C++ Programming Language》 ——C++之父Bjarne Stroustrup 1. Don’t use exceptions where more local control structures will suffice; 当局部的控制能够处理时,不要使用异 阅读全文
posted @ 2016-09-22 15:11 LonelyEnvoy 阅读(253) 评论(0) 推荐(0)
摘要:看这篇文章学习C++异常处理的基础知识。看完后,还不过瘾,为什么大家在C++代码中都不用Exception?为什么C++11会引入一些变化? 为什么C++ exception handling需要unwind stack? 为什么throw会被抛弃? 接着看http://www.gotw.ca/pu 阅读全文
posted @ 2016-09-22 15:02 LonelyEnvoy 阅读(455) 评论(0) 推荐(0)
摘要:我们都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的。但是,如果你简单地把这一招应用到 new 上,那可就不一定正确了。我经常看到类似这样的代码: int* p = new 阅读全文
posted @ 2016-09-12 18:46 LonelyEnvoy 阅读(8268) 评论(0) 推荐(0)
摘要:这一篇要总结的是五天查找的最后一篇,哈希查找,也称为散列查找(本文以哈希称呼)。提起哈希,我的第一印象就是C#中的Hashtable类,它是由一组key/value的键值对组成的集合,它就是应用了散列技术。 那么,什么是哈希查找呢?在弄清楚什么是哈希查找之前,我们要弄清楚哈希技术,哈希技术是在记录的 阅读全文
posted @ 2016-09-02 15:45 LonelyEnvoy 阅读(1460) 评论(0) 推荐(0)
摘要:作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传播和普及STL的基础知识,若能借此机会为STL的推广做些力所能及的事情,到也是件让人愉快的事情。 初识STL:解答一些疑问 1.1 一个 阅读全文
posted @ 2016-07-11 00:34 LonelyEnvoy 阅读(4022) 评论(0) 推荐(0)
摘要:string类的简单实现 阅读全文
posted @ 2016-07-01 17:23 LonelyEnvoy 阅读(256) 评论(0) 推荐(0)