- 博客(106)
- 资源 (6)
- 收藏
- 关注
原创 英语语法 可作主语的词类 1.1.4名词性从句作主语
1.1.4名词性从句作主语a.句子是不能做主语的,因此:He doesn't study makes me angry.(he doesn't study是句子,错误)That he doesn't study makes me angry.(That he doesn't study是名词性从句)b.名词性从句的种类名词性从句一共有三种:(速记:戴慧怡)1)tha
2015-02-23 22:55:51 2136
原创 英语语法 可作主语的词类 1.1.3动名词或不定式作主语
1.1.3动名词或不定式作主语a.动名词作主语See him makes me angry.(错误)Seeing him makes me angry.(Seeing为动名词)看到他就令我生气。b.不定式作主语See him is my purpose of coming here.(错误)To see him is my purpose of coming her
2015-02-23 22:44:56 1035
原创 英语语法 可作主语的词类 1.1.1名词作主语
1.1.1名词作主语:The Child is apt to tell lies.这孩子喜欢说谎。
2015-02-23 22:40:48 808
原创 英语语法 第一章 句子的形成——概说
第一章 句子的形成——概说1、任何一个句子一定由主语(subject,简称S)及动词(verb,简称V)组成。John works hard.2、有时主语可以省略,而形成祈使句。省略了You should(你应当)。Work hard. = You should work hard.你应该努力工作。
2015-02-23 22:18:15 743
原创 美语音标 [ɪ]在下列情况要发[i]的音
[i]:发音类似汉语“衣”的读音,但声音拉长些。[ɪ]:发出来的声音颇像部队里报数“一、二、三、四”其中“一”的声音,或闽南语念“初一”的“一”之音。[e]:双元音,类似汉语拼音“ei”。[ɜ]:类似念“耶”这个词时,故意拉长音,尾音的部分就像[ɜ:]的发音。[æ]:汉语无此音,嘴型比发[ɜ:]的音更开,matter['mætə]。[ɒ]:先念“啊”,将嘴巴尽量张大,然后发声,
2015-02-23 21:40:29 1192
原创 C++ 静态成员能用于某些场合,而普通成员不能
静态成员独立于任何对象。因此,在某些非静态数据成员可能非法的场合,静态成员却可以正常地使用。举个例子,静态数据成员可以是不完全类型。特别的,静态数据成员的类型可以就是它所属的类类型。而非静态数据成员则受到限制,只能声明它所属的指针或引用: class Bar{ public: //.... private: static Bar mem1;//正确:静态成员可
2015-02-19 20:32:42 660 2
原创 C++ 聚合类
聚合类使得用户可以直接访问其成员,并且具有特殊的初始化语法形式。当一个类满足如下条件时,我们说它是聚合的: 1、所有成员都是public的。 2、没有定义任何构造函数。 3、没有类内初始值(C++11)。 4、没有基类,也没有virtual函数。 例如,下面是一个聚合类: struct Data{ int ival; string s;
2015-02-19 20:24:58 901
原创 C++ explict
可以通过将构造函数声明为 explicit,来防止在需要隐式转换的上下文中使用构造函数: class Sales_item { public: Sales_item(const std::string &book = ""):isbn(book), units_sold(0), revenue(0.0) { } explicit Sales_
2015-02-19 19:20:00 488
原创 C++ 隐式的类类型转换
如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制,有时我们把这种构造函数称作转换构造函数。 在Sales_data类中,接受string的构造函数和接受istream的构造函数分别定义了从这两种类型向Sales_data隐式转换的规则。也就是说,在需要使用Sales_data的地方,我们可以使用string或者istream作为代替: st
2015-02-19 18:42:43 525
原创 C++ 类中的typedef类型名要特殊处理
一般来说,内层作用域可以重新定义外层作用域中的名字,即使该名字已经在内层作用域中使用过。然而在类中,如果成员使用了外层作用域中的某个名字,而该名字代表一种类型,则类不能在之后重新定义该名字。 typedef double Money; class Account { public: Money balance() { return bal; } //
2015-02-19 18:19:53 784
原创 C++ 基于const的重载
我们定义两个 display 操作:一个是 const,另一个不是 const。 基于一个指针形参是否指向 const,可以重载一个函数。const对象只能使用 const 成员。非 const 对象可以使用任一成员,但非 const 版本是一个更好的匹配。 在此,我们将定义一个名为 do_display 的 private 成员来打印 Screen。每个 display 操作都将调用此
2015-02-19 18:03:54 584
原创 C++ const成员函数
const成员函数的const的作用是修改隐式this指针的类型。 默认情况下,this类型是指向类类型非常量版本的常量指针。(比如Sales_data * const this)。 现在,可以理解跟在 Sales_item 成员函数声明的形参表后面的 const 所起的作用了:const 改变了隐含的 this 形参的类型。即把Sales_data * con
2015-02-19 17:47:25 429
原创 C++ size_type类型
(选自C++ Primer) string::size_type 类型从逻辑上来讲,size() 成员函数似乎应该返回整形数值,或如 2.2 节“建议”中所述的无符号整数。但事实上,size 操作返回的是 string::size_type 类型的值。我们需要对这种类型做一些解释。string 类类型和许多其他库类型都定义了一些配套类型(companion type)。通过这些配套类型,库类
2015-02-17 13:52:53 450
原创 C++ STL 算法:Heap算法
1、堆排序算法(heapsort)2、make_heap()//最大的放在堆顶make_heap(ivec.begin(),ivec.end());3、push_heap()//把最后的元素插入堆中push_heap(ivec.begin(),ivec.end());4、pop_heap()//把根弹到最后pop_heap(ivec.begin(),ivec.end
2015-02-16 23:06:09 546
原创 C++ STL 算法:根据第n个元素排序
1、nth_element(b,n,e)//排序好后取出前n个nth_element(ideq.begin(),ideq.begin()+3,ideq.end());//默认从小到大2、nth_element(b,n,e,p)nth_element(ideq.begin(),ideq.begin()+3,ideq.end(),greater());
2015-02-16 22:43:58 446
原创 C++ STL 算法:局部排序
1、partial_sort(b,se,e)//默认从小到大partial_sort(ideq.begin(),ideq.begin()+5,ideq.end());2、partial_sort(b,se,e,p)partial_sort(ideq.begin(),ideq.begin()+5,ideq.end(),greater());3、partial_sort_cop
2015-02-16 22:24:20 605
原创 C++ STL 算法:对所有元素排序
1、sort(b,e)sort(ideq.begin(),ideq.end());//谓词默认是less,从小到大2、sort(b,e,p)sort(ideq.begin(), ideq.end(), greater());//从大到小3、stable_sort(b,e)4、stable_sort(b,e,p)stable_sort(svec2.begin(), s
2015-02-16 21:43:22 364
原创 C++ STL 算法:重排和分区
1、random_shuffle()//随机乱序排序random_shuffle(ivec.begin(), ivec.end());2、partition()//不稳定分区partition(ivec2.begin(), ivec2.end(), not1(bind2nd(modulus(),2)));3、stable_partition()//稳定分区,分区后都会以原来
2015-02-16 21:23:06 658
原创 C++ STL 算法:排序组合
1、next_permutation()//从小到大while(next_permutation(ivec.begin(),ivec.end()))//当所有排序排完就会返回false{for(vector::iterator iter=ivec.begin();iter!=ivec.end();++iter)cout cout }2、prev_permutatio
2015-02-16 21:13:03 413
原创 C++ STL 算法:逆转和旋转
1、reverse()//逆转reverse(ivec.begin(), ivec.end());//12345变成543212、reverse_copy()reverse_copy(ivec.begin()+1, ivec.end()-1,ostream_iterator(cout," "));3、rotate()//旋转,就是把后面的移动到前面,最前面的回到最后面r
2015-02-16 20:52:27 519
原创 C++ STL 算法:删除算法(3)unique、unique_copy
1、unique(b,e)//把重复的元素删掉,只保留一个unique(ilist.begin(),ilist.end());2、unique(b,e,p)//符合p条件的删掉pos = unique(ilist.begin(), ilist.end(), greater());//删掉比前一个数小的元素3、unique_copy(b1,e1,b2)unique_cop
2015-02-16 20:37:53 496
原创 C++ STL 算法:删除算法(2)remove_copy、remove_copy_if
1、remove_copy()remove_copy(ilist.begin(),ilist.end(),ostream_iterator(cout, " "), 3);2、remove_copy_if()remove_copy_if(ilist.begin(),ilist.end(),inserter(iset,iset.end()),bind2nd(less(),4));
2015-02-16 19:55:13 732
原创 C++ STL 算法:删除算法(1)remove、remove_if
一、remove(b,e,v)end = remove(ilist.begin(), ilist.end(),3);//返回的迭代器是逻辑终点(即被移动后的第一个多余元素),而非真正的终点ilist.erase(end,ilist.end());//配合erase就可以做到真正的删除ivec.erase(remove(ivec.begin(),ivec.end(),5),ive
2015-02-16 17:01:16 707
原创 C++ STL 算法:替换算法
1、replace(b,e,ov,nv)replace(ilist.begin(), ilist.end(), 6, 42);2、replace_if(b,e,p,v)replace_if(ilist.begin(), ilist.end(),bind2nd(less(),5),0);3、replace_copy(b1,e1,b2,ov,nv)replace_copy(
2015-02-16 16:44:41 446
原创 C++ STL 算法:填充新值
1、fill(b,e,v)//只能填充常量fill(slist.begin(),slist.end(),"hao");2、fill_n(b,n,v)fill_n(back_inserter(slist2),9,"hello");fill_n(ostream_iterator(cout, " "),10, 7.7);fill_n(slist2.begin(), slist
2015-02-16 16:31:43 404
原创 C++ STL 算法:交换算法
一、swap_ranges(b,e,b2)例:swap_ranges(ivec.begin(), ivec.end(), ideq.begin());swap_ranges(ideq.begin(), ideq.begin()+3,ideq.rbegin());二、注意: 下列两种方法也是交换算法1.容器的swap()成员函数ivec1.swap(ivec2);//
2015-02-16 16:20:02 446
原创 C++ STL 算法:transform
一、transform()算法有两种形式:1、transform(b1,e1, b2, op)例:transform(ivec.begin(), ivec.end(),ivec.begin(), negate());transform(ivec.begin(),ivec.end(),back_inserter(ilist),bind2nd(multiplies(
2015-02-16 15:51:25 655
原创 C++ STL 算法:复制元素
一、copy()1、copy(ilist.begin(), ilist.end(),ivec.begin());2、list ilist;copy(ivec.begin(), ivec.end(), back_inserter(ilist));3、copy(ivec.begin(), ivec.end(),ostream_iterator(cout, " "
2015-02-16 15:17:42 431
原创 C++ STL 算法:区间的比较
1、equal(b,e,b2)if(equal(ivec.begin(),ivec.end(),ilist.begin())) cout << "这两个区间相等" << endl;else cout 2、equal(b,e,b2,p)bool bothEvenOrOdd(int elem1, int elem2){ return elem1 % 2 == elem2 % 2;
2015-02-16 14:43:14 500
原创 C++ STL 算法:for_each
1、for_each(b,e,p)2、使用for_each()算法遍历数据void print(int elem){cout }for_each(ivec.begin(), ivec.end(),print);3、使用for_each()和函数对象修改数据class MeanValue{private: long num; long su
2015-02-16 14:17:28 409
原创 C++ STL 算法:查找算法(7) lower_bound、upper_bound、equal_range
1、lower_bound()pos1 = lower_bound(ilist.begin(), ilist.end(), 5);cout 2、upper_bound()pos2 = upper_bound(ilist.begin(), ilist.end(), 5);cout 3、equal_range()pair::iterator,list::iter
2015-02-16 14:04:51 509
原创 C++ STL 算法:查找算法(6) binary_search、includes
1、binary_search(b,e,v)//二分法查找,但是不返回位置 if(binary_search(ilist.begin(),ilist.end(),5)) cout << "找到了!" << endl; else cout 2、binary_search(b,e,v,p)//可以用谓词来确定排序的依据3、includes(b,e,sb,se)//查找包含sb到se之
2015-02-16 13:49:43 523
win7 64位汇编开发环境合集
2015-12-01
DirectX11程序初始化
2015-09-28
泡泡堂 DirectX11 Demo
2015-09-06
C++实现状态驱动智能体设计——消息功能
2015-08-17
有限状态机(FSM)
2015-08-17
C++控制台网络聊天室源代码
2015-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人