C/C++
文章平均质量分 83
皮小猪的时光
这个作者很懒,什么都没留下…
展开
-
奇思妙想位运算
本篇旨在记录”奇思妙想”的位运算。1的个数int c = 10;int count = (c == 0 ? 0 : 1) ;while( c = c&(c-1) ){ count++;}解析 c-1 会导致c最末尾的1 因为借位变为0,而此前最末尾的1后面必然全是0(或者1为个位),所以当c&(c-1)时,就相当于消去c中最末尾的一个1。 如6的二进制是0110,6-1的二进制是01原创 2016-03-15 23:47:34 · 1641 阅读 · 0 评论 -
STL算法之集合
集合的所有操作,都需要保证两个集合都已排好序。原创 2016-03-04 11:39:41 · 341 阅读 · 0 评论 -
STL算法之查找
STL算法库中提供的查找相关算法主要有以下几种: 算法 功能 find 返回第一个等价于给定值的元素的迭代器1 find函数原型:template <class InputIterator, class T> InputIterator find (InputIterator first, InputIterator last, const T& val);在 [first,l原创 2016-03-03 15:35:24 · 1347 阅读 · 0 评论 -
STL算法之排序
stl算法库中提供的排序算法原创 2016-03-03 10:20:16 · 1349 阅读 · 0 评论 -
new/delete 详解
new 和 delete 是 C++ 用于管理 <font color=ff00ff>堆内存</font> 的两个运算符,对应于C语言中的 malloc 和 free,但是malloc和free是函数,new 和 delete 是运算符。原创 2016-05-18 14:31:12 · 28360 阅读 · 2 评论 -
C++ 对象模型
何为C++对象模型?C++对象模型可以概括为以下2部分:语言中直接支持面向对象程序设计的部分对于各种支持的底层实现机制语言中,直接支持面向对象程序设计的部分,如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等。第一部分这里我简单过一下,重点在底层实现机制。在c语言中,“数据”和“处理数据的操作(函数)”是分开来声明的,也就是说,语言本身并没有支持“数据和函数”之间的关联性。转载 2016-03-08 14:50:53 · 899 阅读 · 0 评论 -
C++ 笔试题集锦(1)
本篇Blog旨在收集平时遇到的一些“稀奇古怪”的面试题。问题1问题表述: 在C++中,为了让某个类只能通过new来创建(即如果直接创建栈上对象,编译器将报错),应该如何做?解析: 将析构函数设为私有。 因为new的过程中,编译器不会检测析构函数是否可访问,但要注意的是,这将导致不能调用delete删除该对象所占用的内存,所以需要在该类的内部自己增加一个成员函数,在该自原创 2016-03-09 23:15:58 · 6953 阅读 · 0 评论 -
STL算法之常用算法
stl 中常用的算法,以及该注意的地方。原创 2016-03-04 17:17:27 · 924 阅读 · 0 评论 -
C++ 笔试题集锦(2)
本篇blog旨在收集平时遇到的一些“稀奇古怪”的面试题。上一篇笔试题blog地址问题1: 出现频率问题表述: 从100万url中,找到出现频率最高的100个。解析:#include <iostream>#include <fstream>#include <cstdlib>#include <string>#include <vector>#include <list>#includ原创 2016-04-17 11:53:15 · 521 阅读 · 0 评论 -
神一般的指针
解析下列指针含义:1、 int *p;一个指向整型数据的指针。2、int **p;一个指针的指针,它指向的指针指向一个整型数据。**p 是 int 类型,所以 *p 是int *类型,即*p是一个指向int的指针,所以p是一个指向int的指针的指针。3、 int *p[10];一个有十个指针的数组,该指针指向整型数据。p[10] 的类型是 int *,所以 用type 替换 int *,也就是原创 2016-03-09 22:30:57 · 1950 阅读 · 0 评论 -
C++ 类型转换
类型转换主要分为两种: 隐式类型转换 和 显示类型转换.原创 2016-03-14 21:21:48 · 1722 阅读 · 0 评论 -
C++ RTTI 机制
RTTI(Run Time Type information): 是编译器在 编译期间 生成的特殊类型信息(type_info),包括对象继承关系,对象本身的描述,RTTI 是为多态而生成的信息,所以只有具有虚函数的对象才会生成。原创 2016-03-11 15:00:12 · 2485 阅读 · 0 评论 -
C++ 溢出与越界
堆栈溢出 , 简而言之, 就是堆栈满了,还往里面塞东西。原创 2016-03-16 10:11:43 · 7625 阅读 · 0 评论