代码改变世界

c++ delete 后还有必要set Null 吗?

2012-07-15 15:12 by youxin, 4338 阅读, 0 推荐, 收藏,
摘要:最开始我们Declare array as a pointer, allocate with newint* a = NULL; // pointer to an int, intiallly to nothing. A dynamically allocated array is declared as a pointer, and must not use the fixed array size declaration. The above declaration creates a pointer, but doesn't yet allocate any memory to 阅读全文

STL array

2012-07-15 14:35 by youxin, 351 阅读, 0 推荐, 收藏,
摘要:先声明,这个STL 容器很少有人使用,因为必须要指定大小,一般都用vector或list 了。template < class T, size_t N > class array;Container propertiesSequenceElements in sequence containers are ordered in a strict linear sequence. Individual elements are accessed by their position in this sequence.Contiguous storage(连续的)The elements 阅读全文

转:C++关键字详解(volatile, mutable, explicit, dynamic_ cast<T>(expression))等

2012-07-15 14:12 by youxin, 350 阅读, 0 推荐, 收藏,
摘要:1 volatile有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中的变量,这会造成程序的错误执行。 volatile的意思是让编译器每次操作该变量时一定要从内存中真正取出,而不是使用已经存在寄存器中的值,如下: volatile BOOL bStop = FALSE; 在一个线程中: while( !bStop ) { ... } bStop = FALSE; r... 阅读全文

c++ volatile

2012-07-15 14:05 by youxin, 409 阅读, 0 推荐, 收藏,
摘要:volatile(英文解释:挥发性的,不稳定的)关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint; 当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。例如:volatile int i=10;int a = i;...//其他代码,并未明确告诉编译器,对i进行过操作in.. 阅读全文

STL模板参数

2012-07-15 13:41 by youxin, 583 阅读, 0 推荐, 收藏,
摘要:Function templates 有兩種參數:1. Template parameters(模板參數),在function template 名稱前的㆒對角(尖)括號㆗宣告: template <typename T> // T 是個template parameter2. Call parameters(呼叫參數),在function template 名稱後的小(圓)括號㆗宣告: ... max (T const& a, T const& b); // a 和b 是呼叫參數template parameters 的數量可以任意,但你不能在function t 阅读全文

STL 实参推演

2012-07-15 13:05 by youxin, 214 阅读, 0 推荐, 收藏,
摘要:我们的max函数如下:template <typename T>inline T const& max (T const& a, T const& b){ // if a < b then use b else use a return a < b ? b : a;}我们传递的两个参数类型必须一致,编译器才能得出结论:T必须是你传递的类型。注意:这里不允许进行自动类型转换,每个T都必须正确的匹配。max(4,7); 可以,两个实参都是intmax(4,4,2)不行,第一个int,第二个是double有3中方法可以处理上面错误:1.对实参进行强制类 阅读全文

《c++ templates the complete guide》序言

2012-07-15 12:45 by youxin, 381 阅读, 0 推荐, 收藏,
摘要:译者序: c++真可谓包罗万象,博大精深。每个在c++中沉迷多年的爱好者都难免有这样的感慨:使用c++多年过后,我们往往只能算是一个熟练的使用者,却从来不敢给自己冠上“精通c++”的头衔,难道“精通c++”永远都是不惭的大言?然而,在学习,使用,和研究c++的过程中,我们总是期望能够像“精通”不断迈进,并领悟c++语言的精髓。我想,要做到这一点起码要注意3个方面:一要把握语言发展的脉搏,二要多应用标准技术,三要洞悉标准技术背后的实现细节。做到这些往往能事半功倍。近年来,c++的新发展主要是在GP方面大放异彩:标准库,boost库,容器,迭代器,仿函数等都是围绕着GP不断呈现出来的,他们都代.. 阅读全文

dos xcopy使用

2012-07-15 02:26 by youxin, 322 阅读, 0 推荐, 收藏,
摘要:XCOPYCopies files and directory trees.XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/EXCLUDE:file1[+file2][... 阅读全文

观察者模式2(observer)

2012-07-14 19:27 by youxin, 414 阅读, 0 推荐, 收藏,
摘要:public interface Subject{ public void registerObserver(Observer o); public void removeObserver(Observer o); public void notifyObservers(); //当主题状态改变时,这个方法被调用,以通知所有观察者。 }public interface Observer{ public void update(float temp,float humidity,float pressure);} //所有的观察者必须实现update方法,以实现观察... 阅读全文

转:C++和Java 虚函数、抽象函数、抽象类、接口

2012-07-13 21:21 by youxin, 541 阅读, 0 推荐, 收藏,
摘要:1. Java虚函数 虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数。PS:其实C++和Java在虚函数的观点大同小异,异曲同工罢了。个人心得:C++中,要想实现多态必须要加上virtual关键字,如果在父类函数不加virtual,子类重载函数,不会有多态特性。#include<iostream>using namespace std;class Animal{privat 阅读全文
上一页 1 ··· 223 224 225 226 227 228 229 230 231 ··· 269 下一页