自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 c++类的构造函数

c++的一个重要特性就是类,这也是c++区别于c的最重要的一个地方,而类的构造函数是类的一个很重要的地方。默认构造函数:当一个类没有声明任何构造函数的时候,这个时候,编译器就会给这个类设置一个合成的默认构造函数,但是如果你给这个类写了一个构造函数的话,这个编译器不会再加上一个默认构造函数了。一般情况下,编译器默认无参数的构造函数是默认构造函数,当然,你也可以在一个构造函数的

2014-01-08 18:12:26 796

原创 c++的参数传递

c++有两种参数传递的方法,一种是值传递,一种是引用传递,值传递就是把形参的值又复制一份然后给函数,引用传递就是把形参直接传递给函数。类似的,在函数的返回值返回的时候,return 的变量也有两种,如果是值传递的话(就是函数的返回值不是引用),就会把return的变量复制一下,给调用它的变量。如果是引用传值的话,就会把函数内对应return的变量返回给他,所以,由此我们知道,不要返回局部对象的引用

2014-01-08 18:11:49 840

原创 c++的this指针

c++的对象里有一个指针一直指向他自己,这个指针就是this指针,这个指针是在类的成员函数内部隐式调用的。可以认为在类调用成员函数的时候,编译器会自动的在参数列表的最后一个位置加上一个指针,比如类名叫做 A,那么这个指针就是A *const this指针。是一个常量指针,但是指向非常量的对象,如果是一个常量对象的话,就不可以了,这意味着我们不可以把一个this指针指向一个常量的对象,如何解决这个问

2014-01-08 18:11:29 807

原创 c++的const详解

有时候我们需要一个一个变量,并且这个变量的值不可以改变,c++语言就提供了这么一个关键字,他就是const。一旦你把一个变量的声明成了const以后,以后任何试图改变const变量的操作都会被编译器认为是错误的,但是const变量一定要在对开始定义的时候初始化,没有初始化的const变量是非法的,用常量初始化或者是变量初始化都可以,只要它可以转换成为const声明的变量类型。

2014-01-08 18:11:03 1346

原创 迭代器

c++专门为一些容器vector以及string等设置了一种很好用的访问方法,就是迭代器。迭代器是一种类似指针的操作,迭代器支持从一个位置转换到另一个位置,以及对于对象的间接访问。使用迭代器用begin以及end方法就可以得到一个容器的迭代器,比如对于string类型的话,string::iterator p = str.begin()就可以得到一个strng对

2014-01-08 18:10:37 821

原创 c++的vector容器

c++还有一个很常用的容器就是vector容器,他是数组实现的,是一种可变长的容器,在很多的时候可以简化我们的编程。使用vector需要添加头文件#include  然后using std::vector或者using namespace std;vector的初始化以及定义由于vector是一种函数模版,所以系统也不知道vector的每一个元素是什

2014-01-08 18:10:12 806

原创 c++的string容器

c++相比c的一个好处就是实现了很多的容器和泛型算法,使得程序员的工作得到了很大的化简。其中一个很有用的泛型容器就是string。string是一个类,是一个在STL里边实现好了的类,由于他的很多功能都已经实现好了,所以对于程序员来说,这个stl模版类是很方便的。string的初始化和定义string str就可以完成string对象的定义,但是这时的str由默认构造函数来

2014-01-08 18:09:50 1871

原创 调试工具之assert和ndebug

c++提供了两种比较好的调试工具,他们就是assert和debug,他们可以在调试运行的时候假如在代码里边,在即将发布的时候删除这些代码即可。assert定义在cassert头文件里边,但是由于assert在很多文件里都有定义,所以有可能当你包括其他的头文件的时候已经包含了assert的定义。assert使用的时候,只需要assert()即可,括号里边是一个表达式,如果这个

2014-01-08 18:09:24 1227

原创 c语言的位操作

计算机本质上是01的位的,所以c语言的位操作更接近底层,也更快速一些,有很多场合我们需要位的操作,所以熟悉c语言的位操作是很有用的。位的基本操作有~,&,^,|几个。~是按位取反,就是按照二进制的位,如果是0就设置为1,如果是1就设置为0。&是按位与,0和1就是1,0和0就是0,1和1就是1.|就是按位或,0和1就是1,0和0就是0,1和1就是1。^就是按位异或,如果两个位

2014-01-08 18:08:49 940

原创 c语言预处理器指令

c语言有强大的预处理器指令,在很多情况下都是很有用的。首先介绍什么是预处理器,预处理器就是在程序的源代码编译之前,会对程序进行翻译工作,就是把这程序\之后的回车去掉,以及去掉注释,然后会把之间的空白自符去掉,然后再根据预处理指令把程序进行预处理操作,等着一切都进行完毕以后,就会进行编译操作。#define与#undef的使用:#define是最常用的预处理器指令

2014-01-06 22:51:20 3348

原创 c语言的const关键字

在c语言中有个比较常用的关键字,const。const标识不可以改变当前变量的值,例如const int a=0;以后就会使得a是一个只为0的值,并且永远不会改变。const主要用在三个地方:1.在函数的参数传递的时候,如果希望一个参数不被函数所改变的话,就加上const关键字,这样子这个变量就不会被改变,如果有改变的话,编译就会通不过。一般是用在数组。

2014-01-05 19:19:08 727

原创 c语言main函数的参数

在c语言中,main函数也可以有参数,只是需要在命令行中进行输入,当然也可以在IDE中进行输入,但是不同的IDE有所不同,在命令行中的输入基本一致。看下边一段代码,int main(int argc,char *args[]){printf("%d\n"argc);for(int i=1;iprintf("%s\n",args[i]);}输出结果就是

2014-01-05 19:18:35 902

原创 c语言的存储类

c语言有五种不同类型的存储类,了解他们会十分有助于对c语言的理解程度。描述c语言的存储类有作用域,链接类型以及存储时期三种描述方法。作用域是用来描述变量的可以引用的区域的一个概念,一般情况下使用的都是代码块作用域,就是在一块代码的{}内部有用的区域,还有一种叫做文件作用域,就是从他开始定义的地方开始到文件结束的地方都有用,这一般叫做全局变量。链接类型有两种,一种

2014-01-05 19:01:47 1000

原创 重定向输入与输出

重定向输入与输出就是把原本程序需要的输入,比如是标准输入读入的数据改从文件输入得到,或者是写入到标准输出的数据更改成为写到标准输出。重定向输入与输出有两种方法,分别是freopen函数以及在操作系统内使用命令行进行。首先是第一种方法,就是freopen函数,他有三个参数,第一个是重定向的文件名,第二个是字符串,代表是读入还是写入,读入是"r",写入是"w",第三个就是原本读

2014-01-05 19:01:20 976 1

原创 c语言的参数传递

c语言参数传递讲解首先给大家看一个样例程序int main(){    float n1 = 3.0;    double n2 = 3.0;    long n3 = 200000000;    long n4 = 1234567890;    printf("%.1e %.1e %.1e %.1e\n",n1,n2,n3,n4);    printf

2014-01-05 19:00:40 927

原创 c语言的字符串转换函数

在c语言中,经常会用到字符串与数字之间进行转换的函数,有时候我们是自己写,但是其实c语言有内置的字符串和数字转换的函数库,就在string.h中。printf和sprintf函数都是把数字转换成为字符串的函数,只不过printf函数是打印到显示器上,sprintf是打印到内存里边。atoi是把字符串转换成为int型的整数,有一个参数是字符串,返回值是转换成为的int型数值。

2014-01-05 18:59:56 1166

原创 c语言的常用字符串函数

c语言对于字符串的操作提供了极佳的c语言函数库支持,都在string.h里边,如果是c++程序的话,用#Include也可以。strlen函数,返回字符串的长度,不包括\0。strcat函数,是连接两个字符串,第一个参数就是将要连接到的字符串,第二个是将要连接的字符串,但是strcat函数并不会检查第一个参数是否可以容纳第二个字符串的长度,这样子有一点漏洞其实。

2014-01-05 18:59:14 1174

原创 c的IO字符串函数

c语言有强大的io函数操作字符串scanf是基本的io函数,也可以进行字符串的输入输出操作,用scanf("%c",&ch)输入char型字符的时候会得到输入的任何一个字符,包括换行\n,scanf("%s",s)的时候就会得到输入的字符串,但是如果遇见空格,tab或者换行的话就会停止输入,但是输出的话按照%s直接输出即可。gets函数可以直接忽略空格和tab,只是

2014-01-05 18:58:44 885

原创 scanf函数输入详解

我们学c语言的时候一定对于scanf函数很不陌生(如果陌生就完蛋了),我们写的代码其实就是一行行的字符串,是由编译器来吧字符串给编译成为cpu可以执行的代码,而scanf在从标准输入得到数据的时候也是一样的,他默认为读取的就是字符串,只不过按照你的%d之类的制表符来读取后又转换罢了。其实是由一个输入字符的缓冲区在的,他们可以看作一个输入的队列,在输入的时候把每队列的头部取出检验,假设是%d的说

2014-01-05 18:57:47 1464

原创 printf和scanf函数的返回值

printf和scanf函数都是c语言的stdio头文件里边很重要的io函数,但是很多人并不知道scanf函数和printf函数的返回值,其实他们的返回值也是有一定的用处的。首先是scanf函数,scanf函数是默认从标准输入文件读取字符串,按照提示符来转换成为要求的类型,他的返回值是成功读取的数值的个数,一般用来读取直到不能读取的判断上,如果读取的返回值是0,就代表读取失败,说明到了

2014-01-05 18:57:15 1119

原创 c语言的goto语句

早期的basic以及fortran语言的goto语句在c语言里边依然是有效的,但是在c语言中,goto语句很容易被滥用,从而造成程序更为复杂,结构不清晰。goto语句的基本用法很简单,首先做一个标签,就是 a:就代表一个标签,标签后边的语句就是goto将要跳转的位置,然后goto a;即可。样例程序:int main(){    bool first =

2014-01-05 18:56:34 4526 1

redis源代码分析

redis源代码分析,简明扼要,通俗易懂

2016-10-17

ThinkPHP模版core版本

ThinkPHP模版core版本,是thinkphp框架。

2013-10-25

thinkphp框架完整版附带extends

ThinkPHP框架完整版,附带extends,找了好久的

2013-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除