自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

转载 C++ -抽象类和纯虚函数

1 #include<iostream> 2 #include<math.h> 3 using namespace std; 4 class Shape{ 5 public: 6 virtual double Area()=0; 7 }; 8 class Triangle:public Shape{ 9 dou...

2016-11-03 16:24:00 153

转载 C++ -类的静态成员

1 /*类的只读静态成员的初始化*/ 2 #include<iostream> 3 using namespace std; 4 class A{ 5 public: 6 static const int i; 7 static const int j=6;//内部初始化 8 }; 9 const int A::i = 5...

2016-11-03 15:56:00 124

转载 C++ -嵌套类和局部类

1 #include<iostream> 2 using namespace std; 3 class A{ 4 public: 5 class B{ 6 public: 7 B(char *name){cout<<"Constructing B:"<<name<<endl;}...

2016-11-03 15:18:00 118

转载 C++ 类

1、类是一个数据类型,所以类定义后需要加;2、初始化列表 1 #include<iostream> 2 using namespace std; 3 class A{ 4 public: 5 A(){ 6 i =5; 7 } 8 void show(){ 9 cout<&...

2016-11-03 11:32:00 96

转载 C++ extern C

1 /****test.cpp****/ 2 3 #include<iostream> 4 using namespace std; 5 extern "C" //利用C编译器的符号规则生成_value 6 { 7 int value(); 8 } 9 int main(){10 cout<<value...

2016-11-02 16:50:00 68

转载 C++ 内联汇编方式

内联汇编方式: 内联汇编方式两个作用: 1、程序的某些关键代码直接用汇编语言编写可提高代码的执行效率。 2、有些操作无法通过高级语言实现,或者实现起来很困难,必须借助汇编语言达到目的。 使用方式: 1、_asm块 _asm{汇编语句} 2、_asm语句 1 #include<iostream> 2 using namespace std; 3 v...

2016-11-02 15:10:00 392

转载 C++ 函数指针

1 #include<iostream> 2 using namespace std; 3 4 int PrintVal(int i){ 5 cout<<i<<endl; 6 return 0; 7 } 8 9 int Add(int i,int j){10 return i+j;...

2016-10-31 11:31:00 53

转载 C++ 定义和使用可变参数函数

1 #include<iostream> 2 using namespace std; 3 void PrintAll(int n,...){ 4 int *ptr; 5 ptr = &n; 6 while(*ptr){ 7 cout<<*ptr<<endl; 8 ...

2016-10-31 11:09:00 305

转载 C++ main函数

1 #include<iostream> 2 using namespace std; 3 class A { 4 public: 5 A(){ 6 cout<<"In constructor."<<endl; 7 } 8 }; 9 A a;10 int main(){11 ...

2016-10-31 10:27:00 140

转载 C++ 联合(2)

1 #include<iostream> 2 using namespace std; 3 class someClass{ 4 int num; 5 public: 6 void show(){ 7 cout<<num<<endl; 8 } 9 };10 union A...

2016-10-31 09:53:00 151

转载 C++ 结构和联合

结构与联合体是C语言中就已经存在的数据类型。C++语言对它们进行了扩展,最大的变化是允许在结构和联体中定义成员函数。 1 #include<iostream> 2 using namespace std; 3 struct Room{ 4 int floor; 5 int No; 6 }; 7 struct Student{...

2016-10-31 09:52:00 615

转载 QT-创建对话框

#ifndef FINDDIALOG_H#define FINDDIALOG_H#include<QDialog>//前置声明会告诉C++编译程序类的存在,而不用提供类定义中的所有细节。class QCheckBox;class QLabel;class QLineEdit;class QPushButton;//FindDia...

2016-10-27 11:19:00 101

转载 QT-tr()函数和&

1 #include<QObject> 2 #include <QApplication> 3 #include<QWidget> 4 #include<QHBoxLayout> 5 #include<QString> 6 #include<QPushButton> 7 int main...

2016-10-27 10:35:00 203

转载 QT-初步建立Application项目

1 #include<QApplication> 2 #include<QHBoxLayout> 3 #include<QSlider> 4 #include<QSpinBox> 5 6 int main(int argc,char * argv[]) 7 { 8 //QApplication对象...

2016-10-26 16:18:00 223

转载 宏(Macro)

1、定义带参数的宏:#define MacroName(MacroParamList) MacroBody;例如:#define Max(a,b) ((a)>(b))?(a):(b)在编译器对源程序做预处理时,会自动将宏调用展开成对应的实现代码,这个过程叫宏展开。在宏展开过程中,宏的调用参数会自动替换宏定义代码中的参数。2、宏定义多行实现形式:#define C...

2016-10-25 15:30:00 186

转载 链式操作

链式操作是利用运算符进行连续操作。它的特点是一条语句中出现两个或两个以上相同的操作符。1、操作符重载函数一定不能够返回void类型。2、对赋值操作符进行重载,如果返回的是类的对象,那么链式赋值操作必须借助拷贝构造函数才能进行。这样不但会有较大的运行开销,还需要编写正确的拷贝构造函数。 1 #include<iostream> 2 using namespa...

2016-10-25 15:02:00 245

转载 C++ 转换操作符

1、static_cast  将一个值以符合逻辑的方式转型。这可以看做是"利用原值重建一个临时对象,并在设立初值时使用型别转换"。  唯有当上述的型别转换有所定义,整个转换才会成功。所谓的“有所定义”,可以是语言内建规则,也可以是程序员自定的转换动作。 1 #include<iostream> 2 using namespace std; 3 int ...

2016-10-21 15:14:00 85

转载 C++ explicit关键字

通过explicit关键字,可以阻止“单参构造函数”自动型转换。 1 #include<iostream> 2 #include<string> 3 using namespace std; 4 class Student { 5 private : 6 string name; 7 public: 8 expl...

2016-10-21 14:31:00 61

转载 C++ typedef 关键字

typedef :为现有类型创建别名。书写typedef的声明:技巧 -如果定义一个变量的语句是合法的,那么在它前面加上typedef就一定合法,并且原来的变量名就成为了别名。 1 #include<iostream> 2 using namespace std; 3 //声明四个函数 4 int Add(int,int); 5 int Sub...

2016-10-21 10:11:00 78

转载 C++ volatile关键字

volatile是C++的一个关键字,它是来解决变量在“共享”环境下容易出现读取错误的问题。volatile 关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。声明时语法:int volatile vInt;当要求使用 ...

2016-10-20 17:23:00 89

转载 C++ sizeof

1 #include<iostream> 2 using namespace std; 3 class Small{}; 4 class LessFunc{ 5 int num; 6 void func1(){} 7 }; 8 class MoreFunc{ 9 int num;10 void func...

2016-10-20 17:12:00 41

转载 C++ 求余运算符

%是求余运算符,也叫模除运算符,用于求余数。%要求两个操作数均为整数(或可以隐式转换成整数的类型)。标准规定:如果%左边的操作数为负数时,则模除的结果为负数或者0,如果%左边的操作数为正数时,则模除的结构为正数或者0。 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 ...

2016-10-20 16:42:00 12768

转载 C++ mutable(可变的)

mutable 关键字是用来解决常函数中不能修改对象的数据成员问题。如果希望在某些情况下,希望在常函数中仍然可以修改某个成员变量的值,那么就在该成员变量的声明前面加上关键字mutable 1 #include<iostream> 2 #include<string> 3 using namespace std; 4 class Studen...

2016-10-20 16:25:00 85

转载 C++ const_cast用法

const_cast是一种C++运算符,主要是用来去除复合类型中const和volatile属性(没有真正去除)。变量本身的const属性是不能去除的,要想修改变量的值,一般是去除指针(或引用)的const属性,再进行间接修改。用法:const_cast<type>(expression)通过const_cast运算符,也只能将const type*转换为type...

2016-10-20 16:12:00 774

转载 C++常变量和文字常量

文字常量编译之后在代码区,不可寻址。常变量可以寻址。运行时常变量并不是放在只读内存中。而是和一般变量一样放在数据区。所以运行时如果能够获得常变量的地址,一样可以通过特殊的途径对它们进行修改。 1 #include<iostream> 2 using namespace std; 3 void ShowValue(const int &...

2016-10-19 15:24:00 109

转载 C++中 <iso646.h>头文件

1 #include<iostream>2 #include<iso646.h>3 using namespace std;4 int main(){5 int i = 5,j = 6,k=7;6 if(i<j and j<k)cout<<"i<j and j<k"<<endl...

2016-10-18 16:59:00 258

转载 java-网络编程-使用URLDecoder和URLEncoder

URLDecoder和URLEncoder用于完成普通字符串和application/x-www-form-urlencoded MIME字符串之间的相互转换。编程过程中可能涉及普通字符串和这种特殊字符串的相关转换,这就需要使用URLDecoder类和URLEncoder类1、URLDecoder类包含一个decoder(String s,String enc)静态方法,它可以将...

2015-04-29 11:48:00 110

转载 java--网络编程-基础知识

java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供了普通字符串和appliction/x-www-form-urlencoded MIME 字符串相互转换的静态方法。使用InetAddress类(实现的接口是Serializable序列化接口):java...

2015-04-29 11:06:00 55

转载 java-线程-使用阻塞队列(BlockingQueue)控制线程通信

BlockingQueue是一个接口,也是Queue的子接口。BlockingQueue具有一个特征:当生产者线程试图向BlockingQueue中放入元素时,如果该队列已满,则线程被阻塞;但消费者线程试图从BlockingQueue中取出元素时,如果队列已空,则该线程阻塞。程序的两个线程通过交替向BlockingQueue中放入元素、取出元素,即可很好地控制线程的通信。Bloc...

2015-04-24 21:56:00 121

转载 java中使用Condition控制线程通信(java疯狂讲义)

如果程序不使用synchronized关键字来保证同步时,而是直接使用Lock对象来保证同步,则系统中不存在隐式的同步监视器,也就不能使用wait()、notify()、notifyAll()方法进行通信了。当使用Lock对象来保证同步时,java提供了一个Condition类来保持协调,使用Condition可以让哪些已经得到的Lock对象却无法继续执行的线程释放Lock对象,Co...

2015-04-24 19:19:00 97

转载 java中线程通信(传统的线程通信)

假设现在系统有两个线程,这两个线程分别代表存款者和取钱者——现在假设系统有一种特殊的要求,系统要求存款者和取钱者不断地重复存款、取钱的动作。而且要求每当存款者将钱存入指定账户后,取钱者就立即取出该笔钱。不允许存款者连续两次存钱,也不允许取钱者连续两次取钱。为了实现这种功能,可以借助Object类提供的wait()、notify()、notifyAll() 3 个方法,这3个方法并不属...

2015-04-23 20:29:00 55

转载 java中死锁

当两个线程相互等待对方释放同步监视器时就会发生死锁,java虚拟机没有监测,也没有采取措施来处理死锁情况,所以多线程编程时应该采取措施避免死锁出现。一旦出现死锁,整个程序既不会发生任何异常,也不会给出任何提示,只是所有线程处于阻塞状态,无法继续。死锁实例: 1 public class DeadLock implements Runnable{ 2 A a=new...

2015-04-23 13:16:00 80

转载 同步锁(lock)

有两种机制防止代码块受并发访问的干扰:1、一个是使用synchronized关键字。2、使用ReentrantLock类。(通过显示定义同步锁对象来实现同步。)同步锁(lock)方法是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前先获得Lock对象。Lock、ReadWriteLoc...

2015-04-23 11:43:00 137

转载 同步锁(lock)

有两种机制防止代码块受并发访问的干扰:1、一个是使用synchronized关键字。2、使用ReentrantLock类。(通过显示定义同步锁对象来实现同步。)同步锁(lock)方法是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前先获得Lock对象。Lock、ReadWriteLoc...

2015-04-23 11:43:00 106

转载 释放同步监视器的锁定(java疯狂讲义)

任何线程进入同步代码块、同步方法之前,必须先获得对同步监视器的锁定,那么何时会释放对同步监视器的锁定呢?程序无法显示释放对同步监视器的锁定,线程会在如下几种情况下释放对同步监视器的锁定。1、当前线程的同步方法、同步代码块执行结束,当前线程即释放同步监视器。2、当前线程在同步代码块、同步方法中遇到break、return终止了该代码块、该方法的继续执行,当前线程将会释放同步监视器。...

2015-04-23 10:20:00 157

转载 线程问题求教!谢谢

1 public class SynchronizedClass1 extends Thread{ 2 private Account account; 3 private double drawbalance; 4 public SynchronizedClass1(String name,Account account,double draw...

2015-04-22 14:16:00 82

转载 同一把锁

1 public class SynchronizedClass extends Thread{ 2 private Account account; 3 private double drawbalance; 4 Object obj; 5 public SynchronizedClass(String name,Account a...

2015-04-21 21:28:00 65

转载 java中线程的同步

线程同步:当有两个进程并发修改同一文件时就可能造成异常。意思就是当一个线程要改变一个文件的内容时,却sleep了一段时间,这时另一个线程却改变了这个文件的内容。最后就会出现错误的结果。为了解决这个问题,java多线程支持引入了同步监视器来解决这个问题。使用同步监视器的通用方法就是同步代码块。同步代码块的语法格式如下:synchronized(obj){······...

2015-04-21 18:51:00 52

转载 java中线程状态-死亡

线程死亡:线程会以如下3种方式结束,结束后就处于死亡状态。1、run()或call()方法执行完成,线程正常结束。2、线程抛出一个未捕获的Exception或Error3、直接调用该线程的stop方法结束该线程---该方法容易导致死锁,通常不推荐使用。为了测试某个线程是否已经死亡,可以调用线程对象isAlive()方法,当线程处于就绪、运行、阻塞三种状态时,该...

2015-04-21 18:50:00 536

转载 java中线程的控制

线程的控制:Java中的线程支持提供了一些便捷的工具方法,通过这些便捷的工作方法可以更好的控制线程的执行。一、join线程:Thread提供了让一个线程等待另一个线程完成的方法——join()方法。当某个程序执行流中调用其他线程的join方法时,调用线程将被阻塞,直到被join方法加入的join线程执行完为止。Join()方法有如下3种重载形式:1、join()...

2015-04-21 18:49:00 68

空空如也

空空如也

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

TA关注的人

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