- 博客(38)
- 资源 (4)
- 收藏
- 关注
原创 MySQL下载安装记录
1、进入官网https://www.mysql.com/cn/点击下载2、点击Community,在选择MySQL Community Server3、这时候会发现有zip文件有msi文件,zip文件中是源码,不能直接安装的,需要找到msi文件,才是直接可以下载安装的版本,点击Go to Download Page4、点击之后你会发现,怎么找不到64位的安装版本,只有32位的版本,其实这个版本是包...
2018-03-17 16:02:30
286
原创 window下Eclipse配置
今天开始正式学习java,希望可以坚持下来!!!记录下配置方便以后查阅!1、下载JDK,直接下载的JDK9官网下载,下的64位的,直接安装。2、配置环境变量“我的电脑”右键“属性”,“高级系统属性设置”;“高级”选择“环境变量”3、上述“环境变量”配置本人机器安装路径新增JAVA_HOME、JRE_HOME设置成上述路径"C:\Program Files\Java\jdk-9.0.4"、“C:\P...
2018-03-17 10:38:50
450
1
转载 BOOL和bool的区别
【转】BOOL和bool的区别一、1、类型不同BOOL为int型bool为布尔型2、长度不同bool只有一个字节BOOL长度视实际环境来定,一般可认为是4个字节3、取值不同bool取值false和true,是0和1的区别BOOL取值FALSE和TRUE,是0和非0的区别二:bool是标准C++数据类型,可取值true和false。
2016-12-10 14:16:09
568
转载 Vector源码分析
C++内置了数组的类型,在使用数组的时候,必须指定数组的长度,一旦配置了就不能改变了,通常我们的做法是:尽量配置一个大的空间,以免不够用,这样做的缺点是比较浪费空间,预估空间不当会引起很多不便。STL实现了一个Vector容器,该容器就是来改善数组的缺点。vector是一个动态空间,随着元素的加入,它的内部机制会自行扩充以容纳新元素。因此,vector的运用对于内存的合理利用与运用的灵活性
2016-12-06 14:49:45
398
原创 TinyXML使用备忘
1、在http://sourceforge.net/projects/tinyxml/ 上下载源码,然后解压缩tinyXML后,将这六个文件添加到你的c++工程中,分别是tinystr.h、tinystr.cpp、tinyxml.h、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp。在需要操作xml文件的地方,使用如下代码,就可以引入tinyXM
2016-12-05 11:31:18
457
转载 STL空间配置器
空间配置器概述以前在项目中运用STL一般都不会涉及到空间配置器,可是,在STL的实现中,空间配置器是重中之重,因为整个STL的操作对象都存放在容器之内,而容器一定需要配置空间以置放资料。所以,在阅读STL源码时,最先需要掌握的就是空间配置器,没了它,容器,算法怎么存在?C++ STL的空间配置器将内存的配置、释放和对象的构造和析构分开,内存配置操作由alloc::allocate(
2016-12-01 15:03:45
377
原创 JSCONCPP使用备忘
使用Jsoncpp生成的lib文件1、首先下载JSONCPP代码,网站如下:http://sourceforge.net/projects/jsoncpp/2、编译jsoncpp-master\jsoncpp-master\makefiles\vs71下的工程代码生成lib文件(jsoncpp-master\jsoncpp-master\build\vs71\debug\lib_jso
2015-10-21 14:26:20
647
原创 static中兴考试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?(20分)static全局变量与普通全局变量的区别:前者在主函数之前就要被初始化,(2分)后者无要求。(2分)static局部变量和普通局部变量的区别:static全句变量是所有函数共享的变量,在一个函数使用完它后它的值会保持到下一个函数来改变它(2分
2014-09-13 15:40:04
1028
转载 多进程,多线程
在Linux下编程多用多进程编程少用多线程编程。 IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快五倍左右。当然这并不是说linux不好,而且在经过实际编程之后,综合来看我觉得linu
2014-09-08 15:05:34
830
转载 在C++中调用C编译器编译过的函数时,为什么要使用"extern C"?
extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字include声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并
2014-09-08 14:47:31
1231
原创 单链表的排序(归并排序)
#includeusing namespace std;struct ListNode{ ListNode* pnext; int value; ListNode(int val):value(val),pnext(NULL) { }};ListNode* MergeList(ListNode* head1,ListNode* head2){ if(head1==NULL)
2014-09-08 10:26:10
775
转载 互联网公司待遇
附2014届待遇:一、互联网 1.百度 13*14.6,special 14~17*14.6 2.腾讯 11.5*16,special 12~14*16 3.阿里 13*15~15*15,有17*15,18*15,有传说中的60w。 4.360 13*14~16*14。 5.美团 13*15~16*15,也有更高的。 6.去哪儿 13*16~15*16 7.人人
2014-09-06 20:17:30
1137
原创 TCP为什么采用3次握手?
1. TCP的三次握手最主要是防止已过期的连接再次传到被连接的主机。如果采用两次的话,会出现下面这种情况。比如是A机要连到B机,结果发送的连接信息由于某种原因没有到达B机;于是,A机又发了一次,结果这次B收到了,于是就发信息回来,两机就连接。传完东西后,断开。结果这时候,原先没有到达的连接信息突然又传到了B机,于是B机发信息给A,然后B机就以为和A连上
2014-09-05 10:12:12
765
转载 Linux中一些命令
关键字: linux 查进程、杀进程、起进程1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。 ps e 列出程序时
2014-09-04 16:00:23
656
转载 const在C和C++中区别
C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中.所以,以下代码:#include using namespace std;int main(){ const int a = 1; const int b = 2; int array[ a + b ] = {0}; f
2014-09-04 15:53:34
572
转载 const作用
Const 作用1. const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令2. 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。3. 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。4. 可以节省空间,避免不必要的内存分配。
2014-09-04 15:47:13
596
转载 C++内部连接和外部连接
在说内部连接与外部连接前,先说明一些概念。1.声明 一个声明将一个名称引入一个作用域; 在c++中,在一个作用域中重复一个声明是合法的 以下都是声明: int foo(int,int); //函数前置声明 typedef int Int; //typedef 声明
2014-09-04 15:18:30
853
原创 strcpy,memcpy,memmove,memset
/*strcpy实现,注意:1、只能实现字符串的copy2、注意函数中参数,第二个有const3、注意返回为char*,以实现链式表达式4、简洁的赋值写法,注意别把=写成了==*/char* MyStrcpy(char* dest,const char* source){ if(dest==NULL||source==NULL) return NULL; char* str
2014-09-04 14:43:12
655
原创 More Effective中auto_ptr实现
templateclass auto_ptr{ public : //使用explicit关键字避免隐式转换 explicit auto_ptr(T* p=0); ~auto_ptr(); //使用另一个类型兼容的auto_ptr来初始化一个新的auto_ptr template aut
2014-09-03 22:36:30
692
原创 华为模拟题
模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用“A”、”B”、”C”、”D”表示,选举时开始计票, 若输入的不是“A”、”B”、”C”、”D”则视为无效票。选举结束后获取各个候选人的得票数以及无效票的个数,输出结果以添加候选人的顺序进行顺序输出,最后一行为无效的数量。同时getVoteResult命令为结束命令。输入为多行形式输入,每一行为一条命令。输入的命令只会是
2014-09-03 15:25:28
968
原创 C模拟实现C++多态
稍微修改:http://blog.youkuaiyun.com/viper/article/details/6616141中代码:变量
2014-09-03 11:13:26
658
原创 构造函数跟析构函数里面都可以调用虚函数
构造函数跟析构函数里面都可以调用虚函数,编译器不会报错!但是由于类的构造次序是由基类到派生类,所以在构造函数中调用虚函数,这个虚函数不会呈现出多态相反,类的析构是从派生类到基类,当调用继承层次中某一层次的类的析构函数时往往意味着其派生类部分已经析构掉,所以也不会呈现出多态。(因此如果在基类中声明的是纯虚函数并且在基类的析构函数中调用之编译器会报错)
2014-09-02 15:07:04
856
原创 给定一个数组,n个数,打印所有可能的r位数的组合。例如{1,2,3,4}n=4,r=2.输出{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}
/*给定n个数字,打印r位数据组成的数如{1,2,3,4}n=4,r=2;输出{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}*/#include#includeusing namespace std;void Combination(int arr[],int data[],int start,int end,int index,int r,vector >& re
2014-09-01 19:54:32
1205
原创 堆排序
//#include "stdafx.h" #includeusing namespace std;int get_parent(int i){ return i>>1;}int get_lchild(int i){ return i<<1;}int get_rchild(int i){ return ((i<<1)+1);}void max_heapify(int
2014-09-01 16:19:02
504
原创 编程之美3.7队列中取最大值操作
/*编程之美3.7队列中取最大值操作采用STL中的已有stack方法:用的文中的方法3:保存栈中最大值可以简单实现*/#include#includeusing namespace std;templateclass Queue{public: void push(T data) { stackIn.push(data); if(stackInCopy.empty
2014-08-31 22:30:50
745
转载 http://blog.youkuaiyun.com/steven30832/article/details/8259948
这个问题是动态规划算法中的一个经典问题,先看问题描述:LCS:两个字符串 X和 Y,找到他们最长的公共子序列,该序列不要求是连续的。公共子序列的意思就是序列的相对顺序是不变的,但是序列不一定是连续的。例如:X = "BDCABA"Y = "ABCBDAB"他们的最长公共子序列是BCBA和BDAB,长度都为4,找到任意一个即可。
2014-08-30 10:28:39
1096
转载 三大基本特性是理解面向对象五大基本原则
透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有
2014-08-29 16:44:21
624
转载 面试实现智能指针
#include#includeusing namespace std;template class SmartPointer{public: SmartPointer(T* ptr) { ref=ptr; ref_count=(unsigned int*) malloc(sizeof(unsigned)); *ref_count=1; } SmartPointer
2014-08-29 15:13:35
1573
原创 面试手写简单的string
#includeusing namespace std;class String{public:String(const char* str=NULL){if(str==NULL){data=new char[1];data='\0';}else{int len=strlen(str);data=new char[len+1];str
2014-08-29 14:39:06
804
原创 面试手写一个简单的STL容器vector
#includeusing namespace std;templateclass Myvector{public: Myvector() { data=NULL; capacity=size=0; } Myvector(const Myvector& other) { if(this==&other) return; data=new T[other.s
2014-08-29 11:32:56
2506
原创 const可以使得函数重载
class Test{public: Test(int i,int j){ }private: int m,int n;};
2014-08-28 19:33:42
887
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人