摘要: 问题阐述 一个大型的C++程序中最容易出现,也是最头疼的一个问题就是内存泄露,即忘记释放已经申请的内存,造成程序占用的内存不断上升,系统性能不断下降,甚至造成内存耗尽而导致程序崩溃。在Java中提供自动垃圾回收机制,程序在何时的时机将回收内存,C++语言一直没有将这种机制作为语言的内部机制,但是它也提供了足够的灵活机制,使开发人员有效地避免内存泄露。2、 内部封装 可以将分配和释放的过程封装到一个类中,即在构造的时候申请内存,析构的时候释放内存,从而保证没有内存泄露。下面是一个简单的封装类。 #include #include usingnamespace std; class AutoNe. 阅读全文
posted @ 2013-07-21 18:11 lysxc 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 面向对象技术强调软件的可重用性(softwarereusability)。C++语言提供了类的继承机制,解决了软件重用问题。C++的三大特点之一(封装,继承,多态)本章讲解三个问题: 一. 继承方式(一共分为三种:公有继承、私有继承、保护继承) 二. 派生类的构造函数和析构函数 三. 虚基类基础知识继承的概念 类的继承指的是新的类从已有的类中得到已有的特性;派生指的是已有的类产生新类的过程。 已有的类称为:父类或者基类; 产生的新类称为:派生类或者子类。 继承可以分为单继承和多重继承。 单继承:比如父类学生—>派生类类研究生 多继承:... 阅读全文
posted @ 2013-07-21 12:04 lysxc 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a = 100; int b = a; int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。#include usingnamespace std; class CExample { private: int a; public: //构造函数 CExample(int b) { a = b;} //一般函数 void Show () { coutusing namespa... 阅读全文
posted @ 2013-07-19 10:24 lysxc 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 售前工程师的来世今生前言现在IT公司都经历了原来的产品型到解决方案型,再到IT服务型企业过度的一种转变时期,记得在96年做IT销售的时候,鲜有售前工程师这个职务,大小事情都自己做主, 于是出现了一些非常不规范的事情,一个销售可以信口开河地承诺任何事情,包括产品性能、服务、价格等等。呵呵,其实呢,一个销售的目的就是卖产品,那管其他的,于是导致了销售的口碑不好,这个问题IBM销售江月讲的非常有意思,可以去看看他的文章:销售为什么爱"撒谎"售前的来历好象在1998年的时候,产品的选择范围也开始比较广泛,出现了货比三家的局面,用户也慢慢进步了,开始有了自己的需求,特别是产品与用户需 阅读全文
posted @ 2013-07-18 19:57 lysxc 阅读(294) 评论(0) 推荐(0) 编辑
摘要: C语言中多维数组的内存分配和释放(malloc与free)(转)写代码的时候会碰到多维数组的内存分配和释放问题,在分配和释放过程中很容易出现错误。下面贴上一些示例代码,以供参考。如果要给二维数组(m*n)分配空间,代码可以写成下面:char **a, i;// 先分配m个指针单元,注意是指针单元// 所以每个单元的大小是sizeof(char *)a = (char **)malloc(m * sizeof(char *));// 再分配n个字符单元,// 上面的m个指针单元指向这n个字符单元首地址for(i = 0; i < m; i++)a[i] = (char *)malloc(n 阅读全文
posted @ 2013-05-13 21:31 lysxc 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 正如matlab(矩阵实验室)这个名字一样,matlab的数据结构只有矩阵(array)一种形式(可细分为普通矩阵和稀疏矩阵)。单个的数就是1*1的矩阵;数组或向量就是1*n或n*1的矩阵。事实上对于matlab来说数、数组或向量和二维矩阵在本质上没有任何区别,他们的维数都是2,一切都是以矩阵的形式保存的。*******************************************************************************************一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。1.数组的运算是指数组对应元素之间的运算,也称点 阅读全文
posted @ 2013-05-13 18:33 lysxc 阅读(3612) 评论(1) 推荐(0) 编辑
摘要: ThisfunctionhasnoneofDETERMINISTIC,NOSQL解决办法创建存储过程时出错信息:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)原因:这是我们开启了bin-log, 我们就必须指定我们 阅读全文
posted @ 2013-05-12 19:49 lysxc 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 修改my.ini文件加上default-character-set=gb2312设定数据库字符集alter database da_name default character set 'charset'1)设置数据库编码 /etc/my.cnf[mysqld]default-character-set=gbk...[client]default-character-set=gbk---------------------------------------2)按字符集导出$mysqldump -u root -p dbname --default-character-set= 阅读全文
posted @ 2013-05-09 16:45 lysxc 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Student的别名。Stu==struct Student 另外这里也可以不写Student(于是也不能struct Student stu1;了,必须是Stu stu1;) typedef struct { ... 阅读全文
posted @ 2013-04-30 20:23 lysxc 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 一、什么是C/S和B/S要想对“C/S”和“B/S”技术发展变化有所了解,首先必须搞清楚三个问题。第一、什么是C/S结构。C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系 阅读全文
posted @ 2013-03-23 11:02 lysxc 阅读(174) 评论(0) 推荐(0) 编辑