- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 linux c 中简单的管道实现
管道一般用与父子进程之间通信,下面是一个简单的父子进程通信事例: #include #include int main(){ int fd[2]; //管道入口fd[0]为读,fd[1]为写入口 char r_buf[100]; char w_buf[20]= "hello word!"; pid_t pid; if(pipe(f
2012-03-30 16:50:48
3947
原创 Linux c 中alarm,signal,pause的使用说明
直接看代码#include #include #include void myfunc(){ printf("myfunc\n"); exit(0); //如果没有此句,程序在主函数中继续运行,输出never run}int main(){ unsigned int i; int time; alarm(9); sleep(2
2012-03-30 16:40:23
5873
1
原创 编写简单的makefile
在介绍makefile前,先介绍linux上如何调用类的方法。下面简单的介绍如何在main.c 中调用print.c中的函数和类。见实例:print.h#include int printHello();class People{ public: People(); ~People(); void PeopleHello();};
2012-03-24 20:25:59
2153
转载 C++中改变setw(n)的对齐方式
转自 : http://www.cnblogs.com/wxxweb/archive/2011/06/01/2065671.html使用setw(n)设置输出宽度时,默认为右对齐,如下:// include // include std::cout std::cout std::cout std::cout //// 输出结果:// // 1
2012-03-17 18:51:01
6804
原创 虚继承的理解以及需要注意的问题
首先需要对虚继承进行了解:(前一篇文章有讲解) 下面的图对一般继承和虚继承很好的解释。一般的继承为Bottom构造时先构造left和right,并且同时为left和right构造各自的Top,这样Bottom中有两个Top。而虚继承Bottom构造时屏蔽了left和right对Top的构造,而是使用自己对Top的构造。下面以一个事例进行分析:如图为继承关系:A中有成员
2012-03-11 15:31:56
1080
转载 多重继承和虚继承的内存布局
转自:http://blog.csdn.net/littlehedgehog/article/details/5442430 感谢作者 这篇文章主要讲解虚继承的C++对象内存分布问题,从中也引出了dynamic_cast和static_cast本质区别、虚函数表的格式等一些大部分C++程序员都似是而非的概念。原文见这里(By Edsko de Vries, January 200
2012-03-11 10:36:07
629
原创 指向函数的指针问题(一般函数和类函数)
指向函数的指针就是用指针保存函数的地址具体实现如下:void sub(int a,int b);int _tmain(int argc, _TCHAR* argv[]){ void (*t_vP)(int a,int b); //定义函数指针 t_vP = sub; //对函数指针赋值 (*t_vP)(5,6);
2012-03-10 10:45:57
705
原创 c++程序编译过程总结(个人理解)
今天做到模版的问题,无法分离定义,在网上找到一些资料,无意间接触到了c++程序的编译过程。经学习理解后总结如下: 对于c++工程中含有很多文件,其中.cpp和.h我们比较熟悉。coder将程序写在这两个文件中,具体的编译和运行由编译器自己去完成。 我们就会提出问题,编译器是如何进行编译的呢。 首先,预编译,就是将一些宏进行替代以及将.h展开到.cpp中。
2012-03-09 20:22:17
1947
1
转载 为什么C++编译器不能支持对模板的分离式编译 (精华编译原理)
转自 : http://www.cppblog.com/michaelgao/archive/2008/10/09/63571.html 为什么C++编译器不能支持对模板的分离式编译 刘未鹏(pongba) /文 首先,C++标准中提到,一个编译单元[translation unit]是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被扩展到包含它的
2012-03-09 14:54:07
1036
转载 lib和dll的关系
转自:http://www.cnblogs.com/ShaneZhang/archive/2011/07/05/2098553.htmllib是和dll对应的。lib是静态链接库的库文件,dll是动态链接库的库文件。 所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要lib。所谓动态就是exe运行的时候依赖于dll里面提供的功能,
2012-03-09 13:57:30
1186
原创 类模版和函数模版需要注意的
函数模版要注意的地方见注释,代码如下:// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;/* * 函数模版的格式为: template 函数名(函数参数); * 模版函数的实现要和声明放在一起,如果不放在一起,在实现的时候要重新
2012-03-09 10:08:20
1944
转载 修改名字(表名,列明等)
转自:http://space.itpub.net/10678339/viewspace-522818create table TEST( ID NUMBER not null, NAME VARCHAR2(20))ALTERTABLESCOTT.TESTRENAMETOTEST1--修改表名ALTERTABLESCOTT.TESTRENAMECOLUMNNAM
2012-03-08 18:42:44
1166
转载 Oracle 默认表空间(default permanent tablespace) 说明
本文转自:http://blog.csdn.net/tianlesoftware/article/details/7084700一.默认表空间说明在oracle9i中,如果未用 DEFAULT TABLESPACE 子句创建的所有用户将以SYSTEM表空间作为它们的默认表空间。同时也不能为数据库指定一个默认的表空间。在Oracle 10g中定义了数据库级别的默认表空间USERS,在
2012-03-07 19:33:19
1049
原创 Console环境下的ini文件的读写
ini文件的读写问题,搞了一下午终于弄好了,纠结呀~~~~~ 一般ini文件读写都是在mfc中完成的,这次要在Console环境中实现。在网上找了好久,都是东抄西抄的,都一样。。。而且都是在mfc下实现的,看来写东西的人越来越少了,让人心寒呀,最可悲的是,转载人家的还大言不惭的写着原创。nm都这么巧,跟人家创的一样。。。。。。废话不多说了。 好了,现在把自己学到的ini读写与
2012-03-04 18:58:01
1513
原创 const需要注意的
1.对于函数后边添加const后,函数成为const类型,该函数中不允许对类中成员进行修改,可以认为是在该函数中,类成为了const类型。另外要注意的是,const函数中只能调用const类型的函数。2.对于const类型的变量来说,只能把const的赋值给非const,不能把非const赋值给const,因为const只能初始化一次,即使定义时初始化,系统也会给予默认的初始化。不能将cons
2012-03-04 10:22:22
741
原创 堆排序实现
// 算法.cpp : 定义控制台应用程序的入口点。//对于堆排序来说,逻辑上是树的形式,实际存储的形式还是数组。只是对下标进行一定的计算获得逻辑上树的形式。//此堆的结构为0号位为根结点,没有左子树,右边接着以1号位置为根结点的子树。#include "stdafx.h"#include using namespace std;const int HEAP
2012-03-03 11:48:51
851
原创 快排c++实现
// 算法.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;void QuickSort(int e[], int first, int end);int _tmain(int argc, _TCHAR* argv[]){ srand(unsigned(time(N
2012-03-03 10:32:30
13126
原创 c++中为什么刷新缓冲区
之前用endl一直以为它只是一个回车换行的功能,刚刚才知道原来endl还有一个功能使用来刷新缓冲区的。除了endl之外,c++中还有ends,flush,unitbuf,nounitbuf。为什么要刷新缓冲区呢? 一句话,为了让缓冲区的信息立即强制输出。 如: cout // test.cpp : 定义控制台应用程序的入口点。//#include
2012-03-02 19:08:42
8962
1
原创 文件读取信息,eof()多读问题
从文件中读出数据,通过eof函数来判断该文件是否结束,但是文件最后的一个字符或者数字被多读一次。比如下面代码: ifstream infile; infile.open("d:\\a.txt"); if(!infile.is_open()) //打开文件 { cout << "失败" << endl; }else { string str; whi
2012-03-02 18:21:38
6861
2
转载 MERGE用法
MERGEMERGE是什么,如何使用呢?先看一个简单的需求如下:从T1表更新数据到T2表中,如果T2表的NAME 在T1表中已存在,就将MONEY累加,如果不存在,将T1表的记录插入到T2表中。DROP TABLE T1;CREATE TABLE T1 (NAME VARCHAR2(20),MONEY NUMBER);INSERT INTO T1 VALUES ('A',10);INSERT IN
2012-03-01 10:49:25
5340
转载 with check option(转载)
我们来看下面的例子:create or replace view testviewasselect empno,ename from emp where ename like ‘M%’with check option;这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:select * from testvie
2012-03-01 10:42:27
805
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人