代码改变世界

C++构造函数

2011-10-27 21:24 by 马哈鱼, 442 阅读, 2 推荐, 收藏, 编辑
摘要:1 构造函数不能声明为const成员,不管对象是否为const,都用一个构造函数来初始化。2 数据成员在构造函数初始化列表中被初始化和在构造函数体中被赋值的区别。两者的区别在于数据成员的类型,对非类类型的数据成员进行初始化或赋值在结构和性能上都是等价的,但是没有默认构造函数的类类型的成员,以及const类型的对象和引用类型的对象只能初始化而不能赋值,所以它们必须在初始化列表中初始化,或者在函数体中被初始化而不是赋值。3 构造函数的初始化列表只在构造函数的定义中而不是声明中指定。4 数据成员初始化的次序就是定义的次序而不是在初始化列表中的次序。5 在构造函数前面加上explicit关键字可以抑制 阅读全文

PHP 异常处理

2011-10-25 15:14 by 马哈鱼, 397 阅读, 0 推荐, 收藏, 编辑
摘要:什么是异常?PHP 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。当异常被触发时,通常会发生:当前代码状态被保存代码执行被切换到预定义的异常处理器函数根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本我们将展示不同的错误处理方法:异常的基本使用创建自定义的异常处理器多个异常重新抛出异常设置顶层异常处理器异常的基本使用当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。如果异常没有被捕获,而且又没用使用 set_ 阅读全文

C++泛型算法及迭代器概述

2011-10-20 09:54 by 马哈鱼, 784 阅读, 0 推荐, 收藏, 编辑
摘要:算法基于迭代器及其操作实现,而非基于容器操作。这就暗示着,算法也许会修改容器内的元素值,或者在容器内移动元素,但是算法本身从不直接添加或删除元素。理解算法的最基本方法是了解该算法是否读元素、写元素或者对元素进行重新排序。 1 只读算法 a)accumulate int sum = accumulate(v.begin(),v.end(),23);以23为基数,将v容器中的所有元素累加; string sum = accumulate(v.begin(),v.end(),string(""));以空字符串开始,将v中的每个字符串连接起来; 注:*accumulate对... 阅读全文

C++标准库关联容器

2011-10-18 14:04 by 马哈鱼, 680 阅读, 0 推荐, 收藏, 编辑
摘要:1 关联容器定义 存储对象集合的类型,支持通过键的高效访问。和顺序容器的本质差别在于:顺序容器通过元素在容器中的位置顺序存储和访问元素,而关联容器却是依靠键。map和set是两个基本的关联容器类型,map以键值对的形式组织存储元素,而set仅存储键。2 pair类型(在utility头文件中定义) a)pair类型的操作: pair<T1,T2> p1;创建一个空的pair对象,两个元素类型分别是T1和T2,值初始化; pair<T1,T2> p1(v1,v2);创建一个pair对象,具有两个元素v1和v2,类型分别是T1和T2; make_pair(v1,v2);以v 阅读全文

C++标准库顺序容器

2011-10-15 20:15 by 马哈鱼, 2394 阅读, 2 推荐, 收藏, 编辑
摘要:所有的标准库容器都是类模板,用以存储单一类型元素的集合。顺序容器按元素位置存储访问,关联容器按键存储访问。1 顺序容器 将单一类型的元素按顺序存储,以下标来访问元素。标准库定义了三种顺序容器:vector,list及deque。vector支持快速随机访问;list支持快速插入删除;deque是双端队列。 a)容器初始化: C<T> c; 创建一个名为c的容器,容器类型为C,如vector或list,T为容器内元素类型。适用于所有容器; C c1(c); 创建容器c的副本,c1和c必须具有相同的容器类型和元素类型,适用于所有容器; C c(b,e); 创建容器c,元素是迭代器b,e 阅读全文

php错误处理

2011-10-11 16:46 by 马哈鱼, 438 阅读, 0 推荐, 收藏, 编辑
摘要:PHP 错误处理在创建脚本和 web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。本教程介绍了 PHP 中一些最为重要的错误检测方法。我们将为您讲解不同的错误处理方法:简单的 "die()" 语句自定义错误和错误触发器错误报告基本的错误处理:使用 die() 函数第一个例子展示了一个打开文本文件的简单脚本:<?php$file=fopen("welcome.txt","r");?>如果文件不存在,您会获得类似这样的错误:Warning: fopen(w 阅读全文

linux文件操作之标准I/O库

2011-09-24 14:31 by 马哈鱼, 356 阅读, 0 推荐, 收藏, 编辑
摘要:下面的例子和上一个类似,不过采用的是标准I/O库而不是系统调用。 代码如下:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g 阅读全文

linux文件操作之系统调用

2011-09-17 15:49 by 马哈鱼, 2356 阅读, 1 推荐, 收藏, 编辑
摘要:在linux中,一切都是文件,文件为操作系统服务和设备提供了一个简单而统一的接口,这就意味者程序可以像使用文件那样使用各种设备。大多数情况下对于文件的操作只用到open,write,lseek,read,close五个系统调用。本文通过一个简单的例子来介绍这五个调用及关联内容。 先看例子:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 阅读全文

MySQL文本文件导入及批处理模式

2011-09-07 11:15 by 马哈鱼, 606 阅读, 1 推荐, 收藏, 编辑
摘要:1 将文本文件中的记录载入mysql数据库表中 (1)文本文件格式:每行一条记录,字段值用tab定位符分开,字段顺序和表定义中的顺序一致;对于不确定的字段值用\N表示; (2)LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet; 注意:如果用的是windows的编辑器,应该使用: LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';2 批处理模式下运行mysql (1)把想要运行的mysql语句放在一个文本 阅读全文

MySQL配置文件my.cnf中文版

2011-08-24 15:25 by 马哈鱼, 320 阅读, 0 推荐, 收藏, 编辑
摘要:#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM#END CONFIG INFO## 此mysql配置文件例子针对4G内存# 主要使用INNODB#处理复杂队列并且连接数量较少的mysql服务器## 将此文件复制到/etc/my.cnf 作为全局设置,# mysql-data-dir/my.cnf 作为服务器指定设置# (@localstatedir@ for this installation) 或者放入# ~/.my.cnf 作为用户设置.## 在此配置文件中, 你可以使用所有程序支持 阅读全文