- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 C++初始化问题
1 普通变量,const ,static,const static普通变量:可以再初始化链表,和构造函数中初始化const对象 或 reference对象:只能在初始化列表中初始化static:只能在累的外面定义和初始化const static:如果是Int 型可以在类中声明时直接初始化,其他类型必须在类外面初始化 和static的区别是初始化的时候要加const修饰
2012-09-18 10:09:17
556
原创 数组名与指针区别
魔幻数组名请看程序(本文程序在WIN32平台下编译):#include int main(int argc, char* argv[]) { char str[10]; char *pStr = str; cout sizeof(str) cout sizeof(pStr) return 0; } 1、数组名不是指针我们先来推翻"数组名就是指针"的说法,用反证法。
2012-07-03 08:37:35
569
转载 java中equal 和 ==的区别
new Integer(1).equals(new Long(1)); //falseString s = “msg”;s.replace(“s”, “o”);System.out.println(s); //msgif(true & true){System.out.prinln(“execute ok”);}else{System.out.prinln(“execu
2012-06-29 22:30:59
820
转载 typeid操作符详解
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和typeid。 dynam
2012-05-19 16:16:38
722
原创 运算符重载专题
1.不能重载的运算符 类属关系运算符“.”成员指针运算符“*”作用域分辨符“::”sizeof运算符三目运算符“?:”2.基本规则1.一元操作符可以是不带参数的成员函数或带一个参数的非成员函数。2.二元操作符可以是带一个参数的成员函数或带两个参数的非成员函数。3.operator=、operator[]、operator()、op
2012-05-19 10:08:52
1065
原创 C++继承、虚继承、虚函数类的大小问题
一、真空类class CNull{};长度:1内存结构:??评注:长度其实为0,这个字节作为内容没有意义,可能每次都不一样。 二、空类class CNull2{public: CNull2(){printf("Construct/n");} ~CNul
2012-05-18 21:36:36
10080
2
原创 私有继承、保护继承、公共继承之间的区别(代码形式)
// Inheritance.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;class Parent{public: Parent(int var = 1) { pub = var; ptd = var; prt = var; }public: int pub;
2012-05-14 09:21:16
4167
原创 Java中没有传引用!!!
java中全部传的是值。基础类型:肯定是传的原来变量的一个副本。对象类型:因为对象类型的变量分为对象本身(存储在堆),和指向该对象的变量名(引用),如 HObject ho = new HObject(). 新对象new HObject()存放在堆,而变量ho存放在栈。(和C++中指针一样,指针变量(地址)存放在栈,而所指向对象放在堆)。所以在以对象作为参数时,传的不是对象本身,而是
2012-05-08 22:19:15
754
原创 网络知识点
1.公有地址以及私有地址公有地址(Public address)由Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。 私有地址(Private address)属于非注册地址,专门为组织机构内部使用。 R
2012-05-05 15:25:51
965
转载 类成员变量初始化专题
1. C++变量的初始化方式首先把需要初始化的成员变量分为几类:Ø 一般变量(int)Ø 静态成员变量(static int)Ø 常量(const int )Ø 静态常量(static const int) 对应的初始化方式是:Ÿ 一般变量可以在初始化列表里或者构造函数里初始化,不能直接初始化或者类外初始化Ÿ 静态成员变量必须在类外初始化Ÿ 常量必
2012-04-28 16:02:39
5365
原创 数字拆分&&白色粉末
1.形如6=1+5=1+2+3=2+4,函数返回3,有三种拆分方式,无重复数字,输入n 输出几种拆分方式注:当对5进行拆分时,不能拆分为1和4,因为前面已经有1了,应该从2开始循环。#include "stdafx.h"using namespace std;int sum = 0;int func(int k,int n){ for(int i=k;i<=n/2;i++
2012-04-24 11:30:27
1972
转载 后缀式(逆波兰式)
后缀式表示法是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法因此又称逆波兰表示法。这种表示法是把运算量(操作数)写在前面把算符写在后面(后缀)。例如把a+b写成ab十把a*b写成ab*。 一个表达式E的后缀形式可以如下定义: (1)如果E是一个变量或常量,则E的后缀式是E自身。 (2)如果E是E1 Op E2形式的表达式,这里op是任何二元操
2012-04-16 11:35:10
1680
转载 用堆栈模拟队列,和用队列模拟堆栈
最近在看《算法导论》,第十章里面有一题是用了;两个堆栈模拟一个队列,我设计的算法如下:堆栈a和b,a用作入队,b出队(1)判队满:如果a满且b不为空,则队满(2)判队空:如果a和b都为空,则队空(3)入队:首先判队满。 若队不满:(1)栈a若不满,则直接压入栈a (2)若a满,则将a中的所有元素弹出到栈b中,然后再将元素入
2012-04-16 10:29:45
1663
转载 extern 用法,全局变量与头文件(重复定义)
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或 函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有 所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预
2012-04-13 09:43:59
706
转载 时间复杂度
基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳
2012-04-01 10:36:17
2674
转载 动态规划解决0-1背包问题
动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。比如01背包问题。/* 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为P1,P2,...,Pn.若每种物品只有一件求旅行者能获得最大总价值。输入格式:M,NW1,P1W2,P2......输
2012-03-28 09:16:23
2724
转载 C标准和C++标准字符串说明
C里面只能通过char定义c风格字符串(C++中有String),通常有3种方式,格式就是char 数组名[] = "字符串" 或者char 数组名[] = {"字符串"}或者char *指针名= "字符串" sizeof可以计算一个类型的大小空间 length只是针对字符串而言的 标准c里没有length这个函数 只有在C++中的string类
2012-03-25 11:58:15
2295
转载 getchar、scanf以及缓冲区的概念
1、getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了。 getch()和getche()是conio.h中的库函数,它的作用是从键盘接收字符,getchar带有回显。 与前面两个函数的区别在于: getchar()函数等待输入直到按回车才结束(前提是缓冲区没有数据),回车前
2012-03-25 11:56:28
752
转载 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则(转)
彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则 2004年7月31日星期六 第二次更新,增加了对象的堆内存分配,细化了指针数组和数组指针内存的说明 !昨天给0405班辅导,当他们问我指针数组的问题的时候,由于好久没用,感觉有些陌生了,所以今天归纳总结了一下,希望以后的朋友可以少走些弯路:)
2012-03-05 21:59:26
720
原创 大数阶乘算法
#include "stdafx.h"using namespace std;#define UNIT 10int maxPosition = 0;int GetNumber();int* DoHandle(int[],int);void printResult(int[]);int main (void){ int n = GetNumber(); int* resu
2012-02-07 17:44:22
670
转载 C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free
内存分配方式 内存分配方式有三种: [1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。 [2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的内存容量有限。 [3] 从堆上分配,亦
2011-11-06 10:10:53
612
转载 java 守护线程
1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程.2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。 虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是main()线程
2011-11-03 13:40:36
6114
转载 Java 生产者消费者问题
生产者消费者问题是研究多线程程序时绕不开的问题,它的描述是有一块生产者和消费者共享的有界缓冲区,生产者往缓冲区放入产品,消费者从缓冲区取走产品,这个过程可以无休止的执行,不能因缓冲区满生产者放不进产品而终止,也不能因缓冲区空消费者无产品可取而终止。 解决生产者消费者问题的方法有两种,一种是采用某种机制保持生产者和消费者之间的同步,一种是在生产者和消费者之间建立一个管道。前一种有较高
2011-11-03 10:35:18
10892
原创 C++知识点
类大小的计算:1.为类的非静态成员数据的类型大小之和.2.有编译器额外加入的成员变量的大小,用来支持语言的某些特性(如:指向虚函数的指针).3.为了优化存取效率,进行的边缘调整.4 与类中的构造函数,析构函数以及其他的成员函数无关. 5 类中如果有虚函数 则类的大小应该加一个指针的大小(指向虚表的指针vptr)怎样禁止copy构造函数或copy assignment操
2011-10-28 15:38:54
721
原创 抽象类和接口的区别
1.抽象类中可以有抽象方法也可有一般方法,抽象方法在子类中实现 。而接口中的方法都是抽象方法,属性都是public static final 。接口没有方法体。2.类只能是单重继承,接口可以多重继承,接口就是弥补了java不能实现多重继承的缺陷3.抽象类的引入是为了实现运行时的多态 接口是编译时的多态4.接口和子类是has a的关系,抽象类和子类是is a的关系!
2011-10-28 14:25:42
308
转载 windows安装基于Apache的SVN服务器(包括SSL配置)
1. 引言2. 安装过程2.1. 安装Apache2.2. 安装Subversion2.3. 配置2.4. 使用SSL来保护你的服务器摘要本文是TortoiseSVN1.3.5帮助中关于配置服务器一节的翻译,根据行文需要做了一些调整与增减。英文
2011-09-06 09:39:27
892
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人