03 2017 档案

C++中模板类使用友元模板函数
摘要:在类模板中可以出现三种友元声明:(1)普通非模板类或函数的友元声明,将友元关系授予明确指定的类或函数。(2)类模板或函数模板的友元声明,授予对友元所有实例的访问权。(3)只授予对类模板或函数模板的特定实例的访问权的友元声明。 要注意的是,友元函数并非成员函数,是改变了它对类成员的访问权限。 (1)没 阅读全文

posted @ 2017-03-31 15:11 泡面小王子 阅读(540) 评论(0) 推荐(0)

TCP三次握手(建立连接)/四次挥手(关闭连接)
摘要:所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。 阅读全文

posted @ 2017-03-30 21:12 泡面小王子 阅读(483) 评论(0) 推荐(0)

STL
摘要:1、迭代器删除元素 1.序列容器,比如vector序列容器的erase返回的是被删除元素后的有效迭代器。 如果上面程序中要在for循环中使用++iter的话,就需要在删除元素后做一次--iter操作,但这样的效率显然没有上面代码效率高。注意到vector的erase方法在执行后,当前迭代器自动指向了 阅读全文

posted @ 2017-03-25 23:00 泡面小王子 阅读(238) 评论(0) 推荐(0)

复制构造函数的用法及出现迷途指针问题
摘要:复制构造函数利用下面这行语句来复制一个对象: A (A &a) 从上面这句话可以看出,所有的复制构造函数均只有一个参数,及对同一个类的对象的引用 比如说我们有一个类A,定义如下: ? 1 2 3 4 5 6 7 8 9 10 class A { public: A(int i,int j){n=i; 阅读全文

posted @ 2017-03-25 16:08 泡面小王子 阅读(347) 评论(0) 推荐(0)

C/C++---printf/cout 从右至左压栈顺序实例详解
摘要:__cdecl压栈顺序实例 明白计算:计算是从右到左计算的 栈和寄存器变量:x++,是将计算结果存放到栈空间,最后是要出栈的;而++x和x是将计算结果直接存放到某个寄存器变量中(是同一个),所以计算完最后输出时,++x和x的结果总是相同的。 用个小例子来说明下: 阅读全文

posted @ 2017-03-16 23:15 泡面小王子 阅读(743) 评论(0) 推荐(0)

C语言实现strlen函数的几种方法
摘要:原文地址:http://www.51testing.com/html/72/n-221172.html 传说常见的一个笔试题:不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数。函数接口声明如下:int strlen(const char *p); 思路分析: 在字符串中 阅读全文

posted @ 2017-03-16 20:24 泡面小王子 阅读(2018) 评论(0) 推荐(0)

类中有指针成员变量的初始化
摘要:#include "iostream.h" class A { public: int *t; int *s; A(int *p,int *q):t(p),s(q) { t=p; s=q; cout<<"create A"<<endl; } ~A() { cout<<"distroy A"<<endl; } void modif_t() { c... 阅读全文

posted @ 2017-03-16 17:39 泡面小王子 阅读(2681) 评论(0) 推荐(0)

静态存储区、堆和栈的区别
摘要:一、内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创 阅读全文

posted @ 2017-03-16 14:50 泡面小王子 阅读(719) 评论(0) 推荐(0)

含有虚函数的类sizeof大小
摘要:说明: 1)一个类中若有虚函数,(不论是自己的虚函数,还是继承而来的),那么类中就有一个成员变量:虚函数指针,这个指针指向一个虚函数表,虚函数表的第一项是类的typeinfo信息,之后的项为此类的所有虚函数的地址。 2)假设经过成员对齐后的类的大小为size个字节。那么类的sizeof大小可以这么计 阅读全文

posted @ 2017-03-15 19:50 泡面小王子 阅读(694) 评论(0) 推荐(0)

Java的文件读写操作
摘要:当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编 阅读全文

posted @ 2017-03-15 10:47 泡面小王子 阅读(313) 评论(0) 推荐(0)

华为机试
摘要:选秀节目评分 选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委 judge_type[i] == 2,表示大众评委,n表示评委总数。 打分规则如 阅读全文

posted @ 2017-03-13 23:12 泡面小王子 阅读(487) 评论(0) 推荐(0)

华为C/C++笔试题&答案
摘要:1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被 阅读全文

posted @ 2017-03-13 22:32 泡面小王子 阅读(14034) 评论(0) 推荐(1)

优秀程序员不得不知道的20个位运算技巧
摘要:1.获得int型最大值 [cpp] view plain copy int getMaxInt(){ return (1 << 31) - 1;//2147483647, 由于优先级关系,括号不可省略 } 另一种写法 [cpp] view plain copy int getMaxInt(){ re 阅读全文

posted @ 2017-03-13 20:17 泡面小王子 阅读(497) 评论(0) 推荐(0)

浮点型数据存储方式
摘要:C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是d 阅读全文

posted @ 2017-03-12 22:32 泡面小王子 阅读(1184) 评论(0) 推荐(1)

笔记(程序员面试宝典)
摘要:一、C中printf计算参数时是从右到左压栈的。参见p34. 二、p35 类型转化(int&)a (其中 float a=1.0f) 其实,(int&)a就是*(int*)(&a) 书上的解释是: (int&)a 相当于将该浮点数地址开始的sizeof(int)个字节当成int型的数据输出,因此取决 阅读全文

posted @ 2017-03-12 22:30 泡面小王子 阅读(260) 评论(0) 推荐(0)

求计算数中第一个1之后0 的个数
摘要:#include #include #include using namespace std; char a[33]; int countOfZeros(int n) { int count=0; itoa(n,a,2); int len=strlen(a); //cout>num; cout<<countOfZeros(num)<<endl; } 阅读全文

posted @ 2017-03-12 11:05 泡面小王子 阅读(199) 评论(0) 推荐(0)

算法-求二进制数中1的个数
摘要:普通法: 我总是习惯叫普通法,因为我实在找不到一个合适的名字来描述它,其实就是最简单的方法,有点程序基础的人都能想得到,那就是移位+计数,很简单,不多说了,直接上代码,这种方法的运算次数与输入n最高位1的位置有关,最多循环32次。 一个更精简的版本如下 快速法 这种方法速度比较快,其运算次数与输入n 阅读全文

posted @ 2017-03-12 10:43 泡面小王子 阅读(137) 评论(0) 推荐(0)

C/C++中的位运算
摘要:位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次 阅读全文

posted @ 2017-03-12 10:20 泡面小王子 阅读(1355) 评论(0) 推荐(0)

c++编程规范的纲要和记录 (转)
摘要:这是一本好书, 可以让你认清自己对C++的掌握程度. 看完之后,给自己打分,我对C++了解多少? 答案是不足20分. 对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节: (*号表示不能完全理解,实力升级了之后回头看) 一般性问题: 1. 不要在注释中重复写代码语义,这样很容易产生不 阅读全文

posted @ 2017-03-11 21:54 泡面小王子 阅读(225) 评论(0) 推荐(0)