摘要: 转自:http://www.chinaunix.net/jh/23/25356.html题目:已知strcpy函数的原型是:char*strcpy(char*strDest,constchar*strSrc);1.不调用库函数,实现strcpy函数。2.解释为什么要返回char*。解说:1.strcpy的实现代码char * strcpy(char * strDest,const char * strSrc) { if ((strDest==NULL)||(strSrc==NULL)) //[1] throw "Invalid argument(... 阅读全文
posted @ 2012-03-20 09:45 foreverlearn 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.ezloo.com/2008/10/stored_procedure.html存储过程(Stored Procedure)存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点:1、执行速度比普通的SQL语句快 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。2、便于集中控制当企业规则变化时,只需要在数据库的服务器中修改相应的存储过程,而不需要逐个的在应用 阅读全文
posted @ 2012-03-19 09:39 foreverlearn 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 转自http://soft.yesky.com/lesson/110/2381610.shtml踏入C++中的雷区——C++内存管理详解2006-04-25 09:22作者:蒋涛出处:计算机教学网责任编辑:方舟 伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配... 阅读全文
posted @ 2012-03-16 10:54 foreverlearn 阅读(140) 评论(0) 推荐(0) 编辑
摘要: --------------------------------------------------------------------------------------------------------------------------------------------------网上看到的两篇关于堆与栈的介绍,讲的比较清楚。1堆和栈的区别原地址:http://blog.csdn.net/goingup/archive/2006/03/07/618309.aspx在bbs上,堆与栈的区分问题,似乎是一个永恒的话题,由此可见,初学者对此往往是混淆不清的,所以我决定拿他第一个开刀。 首先 阅读全文
posted @ 2012-03-15 09:51 foreverlearn 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。 - 程序结束后由系统释放。 4、文字常量区 —常量字符 阅读全文
posted @ 2012-03-15 09:40 foreverlearn 阅读(95) 评论(0) 推荐(0) 编辑
摘要: STL里的位标识类,<bitset>STL bitset是一个STL类,用于处理以位和位标志表示的信息,std::bitset不是STL容器类,因为它不能调整长度,也不具备容器的其他特征(见容器特征),如通过迭代器进行访问。这是一个实用类,针对处理长度在编译阶段已知的位序列进行了优化。示例:#include <iostream> #include <bitset> #include <string> int main() { bitset<8> eightBits; cout<<"The initial cont 阅读全文
posted @ 2012-03-10 13:41 foreverlearn 阅读(152) 评论(0) 推荐(0) 编辑
摘要: C++支持三种类型的member function:static,nostatic,virtual,每一种类型被调用的方式各不相同。4.1 member的各种调用方式1:非静态成员函数:c++设计的准则之一是nostatic member function 和nomember function的调用效率一样 也就是float magnitude3d(const Point3d *_this){……};float Point3d::magnitude3d( ) const { ...} 有相同的效率实际上 member function 被内化为nomember function的形式,其步骤为 阅读全文
posted @ 2011-11-24 00:14 foreverlearn 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 第三章 前言 讨论 class的大小问题#include"iostream" using namespace std; class X{}; class Y:public virtual X{}; class Z:public virtual X{}; class A:public Y,public Z{}; int main() { cout<<"X:"<<sizeof(X)<<endl; cout<<"Y:"<<sizeof(Y)<<endl; cout< 阅读全文
posted @ 2011-11-19 15:23 foreverlearn 阅读(158) 评论(0) 推荐(0) 编辑
摘要: c++模型笔记:第一章:关于对象1:c中数据和处理数据是分开声明的,c没有支持数据和函数之间的关联性,程序性的2:c++中 data members直接内含在每一个class object 之中,就像c struct一样,而member function 虽然在object 之中,但每一个non-inline member function只会诞生一个函数实体,拥有inline member function 则会在其每一个使用者(模块)身上产生一个函数实体,C++ 在布局和存取时间上的额外负担是由 virtual引起的,包括:1)vitrual function 机制,用以支持一个有效率的执 阅读全文
posted @ 2011-11-17 20:22 foreverlearn 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1:调用基类方法#include<iostream> using namespace std; class Mammal { public: void Move() const {cout<<"move one step"<<endl;} void Move(int distance)//加cosnt和不加的区别 { cout<<"move"<<distance<<"step"<<endl; } protected: int itsAge; int i 阅读全文
posted @ 2011-11-12 20:30 foreverlearn 阅读(119) 评论(0) 推荐(0) 编辑