04 2015 档案
摘要:应当注意以下几点:1.是否将返回值类型声明为该类型的引用,否则无法做连续赋值2.是否将传入的参数声明为常量引用,如果不是常量,不能保证不会修改传入的参数,如果不是引用,会调用一次拷贝构造函数影响代码的效率。3.是否判断赋值的两个操作数是同一个实例。4.是否删除被赋值对象的内存,否则会产生内存泄露。程...
阅读全文
摘要:题目:假设有一个数组,里面有10个元素 int a[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。请写一个算法,得到a数组的一个随机排列。要求时间复杂度尽量小,可以使用random函数。例如输出的随机序列可以是:3 6 2 4 5 1 9 8 0思路:1.将最大值max设置为...
阅读全文
摘要:1.灵活的局部变量说明C语言中局部变量的说明必须在可执行语句之前,否则编译无法通过,而C++中允许声明变量与可执行语句在程序中交替出现。例如:int i;i=10;int j;j=20;上面代码在C中编译不通过,而C++可以正常执行。2.const修饰符C语言使用#define来定义常量,例如:#d...
阅读全文
摘要:封装:它的意义在于防止代码被恶意篡改它提供了许多访问修饰符来保证封装:public 访问无限制protected 只能在本类和派生类中访问private 只能在本类中访问internal 只有同一个项目中的类可以访问继承:一个类继承另一个类,子类可以访问父类中的属性和方法,除非父类的访问权限不允许多...
阅读全文
摘要:1.多线程基本概念进程:一个程序运行时所占用的所有资源。一个进程可由多个线程组成。线程:一个进程中的执行单元,可以共享进程中的资源。多线程:一个程序有多个线程执行执行各自的任务。多线程的优点:CPU利用率速率提升了,当一个线程阻塞时,程序不必等他就绪,可以先执行其他的线程。多线程的缺点:线程也需要分...
阅读全文
摘要:内存泄露是指变量或者对象在程序中不需要使用,但它还占用着内存空间一般内存泄露发生的情况有如下两种:1.在堆中申请的内存没有释放2.对象已经不需要使用,但它还占用内存C#和Java中有垃圾回收器,所以不存在第一种情况,而C++不存在垃圾回收机制,两种情况都存在。但是C#,Java中也不是完全依赖于系统...
阅读全文
摘要:工厂模式:实质是由一个工厂类根据传入的参数,动态决定创建哪一类产品,也就是创建哪一个类的实例,一个类代表一个产品工厂模式有如下3个角色:1.工厂:工厂类可以直接被外界调用,创建所需要的产品2.抽象:一般是具体产品的父类3.具体产品:工厂模式的创建目标,继承自抽象的子类C#经常使用反射来实现工厂模式,...
阅读全文
摘要:1.单例模式它的特点是:1.构造参数是私有的,可以防止其他类实例化它,即一个类只有一个实例2.用一个静态变量来保存类的实例3.提供一个全局访问点,使用一个公有的静态方法来实例化它下面是一个支持多线程的单例模式代码:using System;using System.Collections.Gener...
阅读全文
摘要:1.基本概念同步:指定线程的执行顺序,比如有两个线程A,B都要访问资源的时候,B执行了途中需要A的结果,所以B先让出资源,等A执行结束后再执行B互斥:多个线程访问系统资源的时候,同时只能有一个线程对资源进行访问2.线程间的同步和互斥是通过操作系统中信号量和PV原语来实现的PV操作是由P操作原语和V操...
阅读全文
摘要:1.按作用域分析:全局变量的作用域是整个程序,局部变量的作用域是声明它的函数2.按生命周期分析:全局变量的生命周期结束于应用程序结束,局部变量的生命周期结束于函数的结束3.按内存分配区来分析:首先内存分为如下几个区:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。...
阅读全文
摘要:1.引用相当于一个变量的别名,指针指向内存,存放的是变量的地址2.引用在定义之后必须被初始化,指针不需要初始化错误案例:int p0; int &p1; p1=p0;3.引用在初始化之后的值不可以改变,指针可以改变这点从编译角度来分析的话, 程序在编译时分别将指针和引用添加到符号表中,符号表存的是变...
阅读全文
摘要:上传代码:1.打开GitHub Windows客户端。2.右键打开目录,选择“Open in Explorer”。3.将要添加的代码移动到弹出的文件夹中。4.返回客户端中添加Summary(标题)和Description(描述)。5.点击“Commit to master”就会在左侧显示一个“Uns...
阅读全文
摘要:MVVM(Model View ViewModel)是由MVC和MVP模式发展来的一种模式,它主要目的就是将应用程序的代码和界面分离开,这样界面开发可以更专注于设计界面,也使得UI界面更容易变换和测试,下面来看一下这3层的主要功能1.Model层数据访问层,一般定义为一个或多个类,以面向对象的方式将...
阅读全文

浙公网安备 33010602011771号