C/C++
bupt凌霄
这个作者很懒,什么都没留下…
展开
-
怎么在ubuntu下安装和启动jenkins
# rootsudo chmod a+x jdk-6u45-linux-x64.binsudo ./jdk-6u45-linux-x64.binsudo groupadd jenkins //创建一个jenkins组sudo useradd jenkins -d /home/jenkins -m -g jenkins -s /bin/bash //在jenkins组下创建原创 2013-11-11 03:15:32 · 3239 阅读 · 0 评论 -
typedef和define的详细区别
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预处理指令。下面让我们一起来看。typedef是C语言语句,其功能是用户为已有数据类型取“别名”。 例如: typedef int INTEGER; 这以后就可用INTEGER来代替int作整型变量的类型说明了,如: INTEGER转载 2013-10-08 10:41:43 · 438 阅读 · 0 评论 -
主makefile套用子目录下的makefile
主 Makefile内容:SUBDIRS=foo bar bazsubdirs: for dir in $(SUBDIRS); do\ $(MAKE) -C $$dir; \ done当前目录下各个子目录的Makfile内容:./foo/Makefile:foo: @echo "foo..."./bar/Makefile原创 2013-12-11 09:16:00 · 1500 阅读 · 0 评论 -
c++有关编译期和运行期的访问
先要引用一一段,相信不少人看过:看这样一段代码。 view plain#include using namespace std; class A{ public: virtual void f(){cout"A"}; class B:public A { private: void f(){cout"B"};转载 2013-10-08 11:47:33 · 789 阅读 · 0 评论 -
shell中echo变换颜色的用法
echo要变换颜色的时候,要使用参数-e格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"例如:echo -e "\033[41;36m something here \033[0m"其中41的位置代表底色, 36的位置是代表字的颜色那些ascii code 是对颜色调用的始末.\033[ ; m …… \033[0m让字体变为红色并且不停转载 2013-11-22 09:06:30 · 1057 阅读 · 0 评论 -
指针传递的小问题
很多人对于指针的使用是有所了解的,但还是经常会载在指针的问题上,是因为还不够了解指针的本质,其实如果了解指针的本质,对指针的使用也就一目了然了。 作为C 的初学者,经常会遇到指针作为函数参数传递的两个经典的问题。这里,我将透过指针的本质来来讲解这两个问题,这样以后无论你遇到什么样的指针问题,如果你以这样的方法来分析指针也许就迎刃而解了! 首先,第一个问题是这样的:写一个函数,交转载 2013-10-30 01:55:40 · 524 阅读 · 0 评论 -
堆和栈
当程序文件运行为进程的时候,进程在内存中得到空间(进程自己的小房间)。每个进程空间按照如下方式分为不同区域:内存空间Text区域用来储存指令(instruction),来告诉程序每一步的操作。Global Data用于存放全局变量,stack用于存放局部变量,heap用于存放动态变量 (dynamic variable. 程序利用malloc系统调用,直接从内存中为dynami转载 2013-10-16 20:19:31 · 438 阅读 · 0 评论 -
strdup用法及作用
char *strdup(char *str); strdup函数原型:strdup()主要是拷贝字符串s的一个副本,由函数返回值返回,这个副本有自己的内存空间,和s不相干。strdup函数复制一个字符串,使用完后要记得删除在函数中动态申请的内存,strdup函数的参数不能为NULL,一旦为NULL,就会报段错误,因为该函数包括了strlen函数,而该函数参数不能原创 2013-10-11 17:04:35 · 3826 阅读 · 0 评论 -
C++的多态如何在编译和运行期实现
多态是什么?简单来说,就是某段程序调用了一个API接口,但是这个API有许多种实现,根据上下文的不同,调用这段API的程序,会调用该API的不同实现。今天我们只关注继承关系下的多态。还是得通过一个例子来看看C++是怎样在编译期和运行期来实现多态的。很简单,定义了一个Father类,它有一个testVFunc虚函数哟。再定义了一个继承Father的Child类,它重新实现了testVFu转载 2013-10-08 11:47:44 · 448 阅读 · 0 评论 -
回朔+ STL求出并输出所有子集
回朔是一种优选搜索法,按选优条件向前搜索,以达到目标.当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,直到最终确定一个或多个解解析:我们可以将两个递归函数当成母函数的左子树和右子树,每次return就相当于结束本次套用return的递归函数,继续下面的操作.每次pop就相当于回到父节点,每次push就相当于创建左子树具体结构图如下,3-n代表层数下面是原创 2014-02-13 11:22:18 · 842 阅读 · 0 评论 -
向量扩容问题
对于容器类中的向量vector要注意以下几点:容器类的push_back()成员函数会调用对象的复制构造函数复制该对象,然后将复制后的对象添加到容器中。所以如果添加到向量中的是一个类对象,那么它是复制后的对象。(向量扩容时所做的工作)将2个类对象添加到已有的3个类对象的向量中时,向量首先申请到一个足以容纳5个类对象的内存块,得到这个内存块后,将旧内存块中的3个元素复制到这个新分配的内存块中原创 2013-10-23 12:05:07 · 1065 阅读 · 0 评论 -
解释为什么基类的析构函数不为虚的话,基类指针指向子类对象,删除对象时,派生类的析构函数就不会被调用
编译器会为每个有虚函数的类(不是类实例)维护一个虚函数表vftable,这些类的每个实例都含有一个vfptr,指向各自类的虚函数表,在虚函数表中,派生类的override函数会替换基类的对应函数,运行时,根据函数调用者的指针或者引用类型(基类还是派生类)来确定调用那个函数,就是运行时多态了。 推荐http://blog.csdn.net/haoel/article/details/194805原创 2013-10-31 03:15:35 · 2150 阅读 · 0 评论 -
鸟哥linux中对于文件系统的描述
文件系统superblock,inode,blocksuperblock,inode,block数据简略说明:superblock:记录此 filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;inode:记录文件的权限与属性,一个文件占用一个inode,同时记录此文件的数据所在的 block 号码;block:实际记转载 2013-11-04 13:31:12 · 832 阅读 · 0 评论 -
链表list<>中sort()和unique()的用法
我们来说一下链表中unique()和sort()的用法#include #include using namespace std;void main(){ list A; list B; list::iterator P1; list::reverse_iterator P2; A.push_back(3); A.push_back(2); A.原创 2013-10-23 21:57:31 · 1985 阅读 · 1 评论 -
链表的反向迭代和正向迭代输出
#include #include using namespace std;void main(){ list A; list B; list::iterator P1; list::reverse_iterator P2; A.push_back(2); A.push_back(4); A.push_back(3); cout<<"A:"; for(P1=A.be原创 2013-10-23 21:50:48 · 986 阅读 · 0 评论 -
容器链表中splice()、merge()、insert()方法的区别
容器链表的insert()方法和splice()方法的区别 如:#include #include using namespace std;void main(){ list A; list B; list::iterator ititer; A.push_back(2); A.push_back(3); A.push_back(4);原创 2013-10-23 21:43:57 · 1258 阅读 · 0 评论 -
memset用法、作用、常见错误
函数介绍void *memset(void *s, char ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1]。常见错误第一: 搞反了 ch 和 n 的位置.一定要记住如果要原创 2013-10-11 17:12:33 · 823 阅读 · 0 评论 -
static与全局变量
C语言中讲讲static变量和static函数有什么作用static关键字有两种意思,你看上下文来判断1,表示变量是静态存储变量 表示变量存放在静态存储区. 2,表示该变量是内部连接 (这种情况是指该变量不在任何{}之内,就象全局变量那样,这时候加上static) ,也就是说在其它的.cpp文件中,该变量是不可见的(你不能用).当static加在函数前面的时候原创 2014-01-29 14:17:31 · 842 阅读 · 0 评论 -
STL
第十一课 STL容器与向量Standard Template Librarystdc - printf()/scanf()/strlen()/fabs()/sqrt()/sin()stdc++ - new/delete/IO流/exceptionstl - 容器,泛型算法一、STL容器概述1.数组与链表的优缺点1)数组优点:访问元素转载 2013-12-14 20:47:28 · 479 阅读 · 0 评论 -
ubuntu下怎样防止rm删除后恢复问题
用硬连接的方式可以防止误删,即使将原来文件删除,但是在Documents中的连接文件仍然存在原创 2013-12-11 10:18:56 · 811 阅读 · 0 评论 -
.PHONY的作用
请编写一个makefile同时编译、链接下面两个程序:main1.c:#includeint main(void){ printf("main1\n");}main2.c:#includeint main(void){ printf("main2\n");}【分析】:这里需要生成两个可执行文件main1和main2(两个目标)。由于m转载 2013-12-05 11:12:48 · 1684 阅读 · 0 评论 -
linux中转义字符以及通配符、shell特殊字符
说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例: 1234[chengmo@localhost ~/shell]$lsa.txt b.txt c.old #2 1234原创 2013-11-13 11:49:00 · 1453 阅读 · 0 评论 -
多态
由sizeof()求带有虚函数的类的大小引发的思考,在查看相关资料的过程中看到了陈皓先生的一篇文章《C++ 虚函数表解析》(详情见http://blog.csdn.net/haoel)觉得讲的十分的好,只是看完之后仍对为什么要又为什么可以由父类的指针调用子类的对象的虚函数不解,如这种典型的描述:Derive d;//Derive 是Base的子类Base *b1 = &d;//这必原创 2014-04-27 04:37:15 · 481 阅读 · 0 评论