51CTO博客开发
由于工作的关系,我常常需要读一些源代码,并在上面做一些修改并且拿来使用,或者是借鉴其中的某些部分。可以说,open source对于程序员来说,是很有意义的事情。根据我的经验,读源代码,至少有3个好处。第一个好处是可以学习到很多编程的方法,看好的源代码,对于提高自己的编程水平,比自己写源代码的帮助更大。当然不是说不用自己写,而是说,自己写代码的同时,可以从别人写的好的源代码
主要用于创建对象。新添加类时不会影响以前的系统代码。原理是创建一个工厂类,根据输入条件在其内部产生不同的类,再根据不同类的virtual函数得到不同结果。 代码实现: #include<iostream> using namespace std; //基类 class COperation { public: int m_nFirst; int m_nSecond;
定义算法家族,分别封装起来,让它们可以相互替换,让算法变化不会影响到用户。策略模式与简单工厂模式基本相同,但简单工厂只能解决对象创建问题,对于经常变动的算法应使用策略模式。代码实现:#include<iostream> using namespace std; //策略基类 class COperation { public: int m_nF
设计模式是编程的重点,往往在面试时都会考查,而单例模式是最为简单、最为常见、也最该掌握的模式。所以面试时对设计模式的考查考的最多的就是单例模式。 下面我们就来看看单例模式如何实现(C++代码): #include<iostream> using namespace std; class Singleton { public: static Singleton
题目:为下面的类添加赋值运算符函数: class CMyString { public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void); private: char* m_pData; }; 赋值运算符函数就是重载赋
SQL Server的安装程序在安装时会默认建立4个系统数据库: 1.master数据库 master数据库是SQL Server中最重要的数据库,记录SQL Server实例的所有系统级信息,包括实例范围的元数据、端点、链接服务器和系统配置服务器。 2.tempdb数据库 tempdb是一个临时数据库,用于保存临时对象或中间结果集。 3.model数据库
不管你在开发中是否用得到,作为一名程序员,不懂数据库是没法混的,但是会用数据库并不能证明你懂数据库的知识所以小雨建议大家还是抽时间系统的学习一下,今天我给大家简单的介绍一些数据库的基础知识。 一、数据库系统的组成 数据库系统是采用数据库技术的计算机系统,是由数据库(数据)、数据库管理系统(软件)、数据库管理员等组成。 二、数据模型 常见的数据模型有层次模型、
一、GDI+基础1.GDI+简介GDI+是微软的新一代二维图形系统,它完全面向对象,要在Windows窗体中显示字体或绘制图形必须要使用GDI+。GDI+提供了多种画笔、画刷、图像等图形对象,此外还包括一些新的绘图功能,比如渐变、除锯齿、纹理等。GDI+包括三部分:二维矢量图形的绘制、图像处理和文字显示。GDI+使用的各种类大都包含在命名空间system::Drawing中。2.常用的数据结构在使
HTML中的转义字符一 & 开头,用来显示有特殊含义的字符,比如<和>,下面看一个具体的例子。 test.html:<b>标记使得文本用粗体字显示。<br>例如,<b>hello</b>的实际显示效果为:<b>hello</b> test.html的实际显示效果为:
Web这个词对于朋友们来说并不陌生,所有上过网的人都听说过这个词,但是你能用专业的准确的句子来解释下什么是Web吗。Web是一种分布式应用架构,旨在分享分布在网络上的各个Web服务器中的所有互相链接的信息。Web采用客户/服务器通信模式,客户与服务器之间采用HTTP协议通信。Web使用超文本技术(HTML)来链接网络上的信息。信息存放在服务器端,客户机通过浏览器就可以查找网络中的各个Web服务器上
我们熟知的HTTP协议请求方式有三种,但实际上是有六种的,我在此一一阐述下。 1.GET:这种请求方式最为常见,客户程序通过这种请求方式访问服务器上的一个文档,并由服务器把文档发给客户程序; 2.POST:客户程序可通过这种方式发送大量信息给服务器,不仅包含要访问的文档的URI,还包括大量的请求的请求正文,在
文章简介:基本数据结构系列讲解之单链表(附源码) 1.介绍链表结构 链表中的每个结点都应包括以下两个部分。 (1)数据部分:保存结点的数据 (2)地址部分:保存下一结点地址 链表的头指针指向链表结构的第一个结点,依次直到最后一个结点,最后一个结点的地址部分一般放一个空指针NULL。 在链表结构中,通过指针实现结点的逻辑相邻,而逻辑相邻的结点在内存中不一定相邻,所以使用链
网络安全五要素: (1)机密性。确保信息不暴露给未经授权的人或应用进程。 (2)完整性。只有得到允许的人或应用进程才能修改数据,并且能够判别出数据是否已被更改。 (3)可用性。只有得到授权的用户在需要时才可以访问数据,即使在网络被攻击时也不能阻碍授权用户对网络的使用。 (4)可控性。能够对授权范围内的信息流向和行为方式进行控制。 (5)可审查行。当网络
网络数据加密三种方式: 链路加密:又称在线加密,是对在两个网络节点间的某一条通信链路实施加密,是目前网络安全系统中主要采用的方式。 节点对节点加密:在链路加密的基础上,在中间节点装有加密解密保护装置,使节点对节点也加密。 端对端加密:又称脱线加密或包加密,数据在源结点被加密后,到终点的传输过程中始终以密文形式存在。 三种加
很简单的知识,给大家复习一下。 删除单链表节点共有三种情况: 1.删除单链表第一个结点:直接将头指针指向第二个节点; 2.删除单链表中间结点:将待删除节点的前一个指针指向欲删除节点的下一个节点; 3.删除单链表最后一个结点:将指向最后一个节点的指针指向NULL。
朋友们是不是马上反应出来是一分钟重合一次呢,其实我第一次看到这题时也是这么想,下面我们就来分析一下: 首先,时针每小时走五个小格,那么每分钟就走5/60=1/12个小格,而分针每分钟走一个小格,重合一次即分针比时针多走60个小格,每分钟时针比分钟多走(1-1/12)个小
如果一个数是2的n次方,则化成二进制数首位肯定是1其他位都是0,而 A-1 则首位是0,其余位全是1 那么用A&(A-1)结果为0则说明A是2^n
常见的算法时间复杂度及耗时从小到大的排行如下,供大家查阅,当然最好是记住。 纯手打,谢谢支持!
算法这个时间复杂度问题真心是让人头疼,相信有很多和小雨一样的朋友,大学课堂老师在讲时间复杂度时没有认真听,结果唉,每次考试都有,每次考试都蛋疼。现在才觉得这个东西实在是简单啊,唉。 计算时间复杂度只要以下三个准则: (1)将算式中的常数用1来替换; (2)在所有的指数项中,只保留最高阶项; (3)如果存在最高项且次数不为1,则去掉它的常数。 我们通过一个例子来直观的感受一下: 例如计算
如此经典的问题,大学生考试的时候一定会考的,不管你现在能不能领略到这个问题的作用,先背下来再说吧. 算法的五个基本特征:输入、输出、有穷性、确定性和可行性.下面我们来具体阐述一下: (1)输入:算法有0个或多个输入,比如一个简单的函数就没有参数; (2)输出:算法有1个或多个输出,如果没有输出还要这算法干啥用呢; (3)确定性:
1. C中static有什么作用 (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化
(1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储
在网上看到的这道题,答案是3次。因此a和b[2]实例化三次对象,就调用了三次构造方法,而*p[2]只定义了指针,并未实例化对象,所以不调用构造方法。
朋友们都知道,局部变量命名时是不能与全局变量同名的,但是我们偏要它同名会发生什么呢。 当局部变量与全局变量同名时,在局部范围内全局变量是不起作用的,若要在局部范围访问全局变量,需在变量名前加上作用域符::
前几天有朋友问我,什么是引用调用,我告诉他要养成有事找度娘的习惯,他说他去百度了没有结果,我说怎么可能,结果去百度一看果然很多讲解都是贴了那么一大堆代码,实在不便于新手朋友理解,其实引用调用的道理很简单: 引用调用:传了内存空间的地址,形参相当于实参的一个别名,对形参的操作其实就是对形参的操作,形参和实参共用一个地址
首先给朋友们普及下语文知识,这个标识符的“识”的正确读音是zhi而不是shi,是不是很多亲们都不知道呢,我刚学C语言时也读错了,因为那时老师读的就是shi。 好的言归正传,标识符的命名其实比较简单,但是很多公司的笔试中都把它拿来作为考察,正因为简单所以容易被忽略,那我们今天就来总结一下: (1)第一个字符必须是字母(不分大小写)或下划线(_); (2)后跟字母(不分大小写)、下划线(_)或
众所周知,main()函数是C程序的入口,但是C语言程序一定要有main()函数吗,答案是肯定的,但是大家应该都见过没有main()函数的C语言文件,这是怎么回事呢? 例如在Unix编程中,一个完整的程序通常需要几个C语言文件,这时只要有一个文件中有main()函数即可.
这两个名字相信大家是耳熟能详的了,不过很多新手朋友却不知道它们到底为何物,小雨今天就来给朋友们通俗地解释一下。 首先C++有一个标准模板库STL,里面有大量的容器和迭代器,是程序员前辈们智慧和血汗的结晶啊,我们先举一个例子。 &nb
大家都知道,链接是将不同的翻译单元连到一起,C++中有三种链接,即外链接、内链接和无链接。 外链接意思是其它的翻译单元可以访问该文件,普通的变量、函数、命名空间都有外链接,例如,在1.cpp中声明一个变量int i,在2.c
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号