摘要:所有的标准库容器都定义了相应的迭代器类型。迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素。1.iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改。跟C的指针有点像 (容器均可以++iter,而vector还可以iter-n, iter+n,n为一整型,iter1-iter2:结果是difference_type类型,表两元素的距离.)2.const_iterator 对象可以用于const vector 或非 const vector,它自身的值可 阅读全文
字符串分割成单词
2012-05-15 22:11 by youxin, 1188 阅读, 0 推荐, 收藏,
摘要:输出一行字符串,根据空白符来分隔单词。先看如何输出一行(带空白) int main(){ string s; //read and split each line of input while(getline(cin,s)) { vector v=split(s); for(vector split(const string& s){ vector ret; typedef string::size_type string_size; string_size i = 0; // invariant: we ha... 阅读全文
C++对象的拷贝与赋值操作
2012-05-15 21:35 by youxin, 907 阅读, 0 推荐, 收藏,
摘要:转:我的一个同事在用C++编写一个类时,知道什么时候需要实现拷贝构造函数和赋值操作,但不知道什么时候拷贝构造函数被调用,什么时候赋值操作被调用,甚至把二者混为一谈。要弄明白这个问题,最简单的做法莫过于写个测试程序试一下。不过那样做也未必是好办法,实验的结果往往导致以偏概全的结论。不如好好想一下,弄清楚其中的原理,再去写程序去验证也不迟。拷贝构造函数,顾名思义,等于拷贝 + 构造。它肩负着创建新对象的任务,同时还要负责把另外一个对象拷贝过来。比如下面的情况就调用拷贝构造函数:cstringstr=strother;赋值操作则只含有拷贝的意思,也就是说对象必须已经存在。比如下面的情况会调用赋值操作 阅读全文
c++ 字符串直接量
2012-05-15 17:05 by youxin, 868 阅读, 0 推荐, 收藏,
摘要:一个字符串直接量实际上是一个const char 的数组。它包含的元素个数比字面上的字符数多1.这个额外的字符是'\0';const char hello[]="hello";//编译器自动加上去等价于:const char hello[]={ 'h','e','l','l','o','\0' };初始化字符指针数组。假定我们要把数字表示的成绩转换为字母表示的成绩,根据下面的规则:如果成绩不低于 9 0 80 70 60 0 对应字母成绩: A B C D E下面 阅读全文
java 多线程二 线程池
2012-05-15 15:09 by youxin, 226 阅读, 0 推荐, 收藏,
摘要:看下面的一段程序,通过并行运行2个线程。 import java.util.Date; public class GreetingRunnable implements Runnable { int pauseTime; String name; public GreetingRunnable(in 阅读全文
java 多线程一
2012-05-15 13:28 by youxin, 235 阅读, 0 推荐, 收藏,
摘要:Java 编程语言使多线程如此简单有效,以致于某些程序员说它实际上是自然的。。要记住的一件重要的事情是 main() 函数也是一个线程,并可用来做有用的工作。程序员只有在需要多个线程时才需要创建新的线程。Thread 类Thread 类是一个具体的类,即不是抽象类,该类封装了线程的行为。要创建一个线程,程序员必须创建一个从 Thread 类导出的新类。程序员必须覆盖 Thread 的 run() 函数来完成有用的工作。用户并不直接调用此函数;而是必须调用 Thread 的 start() 函数,该函数再调用 run()。下面的代码说明了它的用法:创建两个新线程import java.uti.. 阅读全文
java类型转换总结
2012-05-15 12:43 by youxin, 560 阅读, 0 推荐, 收藏,
摘要:1.原型数据byte,short,int,long,float,double,char,boolean,先看一下基本类型介绍:基本型别大小最小值最大值boolean----------------char16-bitUnicode 0Unicode 2^16-1byte8-bit-128+127short16-bit-2^15+2^15-1int32-bit-2^31+2^31-1long64-bit-2^63+2^63-1float32-bitIEEE754IEEE754double64-bitIEEE754IEEE754void 小类型数据可以直接赋给大类型数据例如int a=1;by.. 阅读全文
java 类和接口之间的转换
2012-05-15 12:35 by youxin, 2539 阅读, 0 推荐, 收藏,
摘要:倘若类实现了接口,就可以将类的类型转换为接口类型。不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例 public class B implements A{} A a = new B(); //引用变量a被定义为A接口类型,引用了B实例 A a = new A(); //错误,接口不允许实例化 阅读全文
C++ main 参数使用
2012-05-13 23:39 by youxin, 1256 阅读, 0 推荐, 收藏,
摘要:C/C++语言中的main函数,经常带有参数argc,argv,如下:int main(int argc, char** argv)int main(int argc, char* argv[])int main(int argc, char argv[ ][ ])这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。下面的程序:#include<stdio.h>int main(int argc,char **argv){ int i; for(int i=0;i<argc;i++) printf("Argument %d 阅读全文
java 自动装箱与拆箱 (基本类型与包装类型)
2012-05-13 13:50 by youxin, 1032 阅读, 1 推荐, 收藏,
摘要:基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。 一般我们要创建一个类的对象的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 10 阅读全文
浙公网安备 33010602011771号