- 博客(11)
- 收藏
- 关注
原创 Effective STL
Effective STL 中文版(大全)《转》Effective STL 中文版(大全)作者: winter 候捷说,对于STL,程序员有三个境界,开始是使用STL,然后是理解STL,最后是补充STL。Effective STL是一本非常好的书,帮助你更好的理解STL,其作者就是《Effective C++》一书的作者。如果你已经初步了解了STL的容器、迭代器、算法和函数
2007-04-12 09:13:00 693
原创 慎重选择删除元素的方法
// alg_remove.cpp // compile with: /EHsc#include #include #include int main( ) { using namespace std; vector v1; vector ::iterator Iter1, Iter2, new_end; int i;
2007-04-11 13:33:00 469
原创 当心C++编译器的分析机制
我已经在in.txt中输入了一串整数:3 4 5 6 93 ifstream dataFile("in.txt"); list data(istream_iterator(dataFile),istream_iterator());以上这段代码的想法是将文件in.txt中的整型数据读入到链表data中,istream_iterator(dataFile)指向文件的开始处,istream_i
2007-04-11 13:32:00 633
原创 区间成员函数优先于与之对应的单元素成员函数
优先选择区间成员函数而不是其对应的单元素成员函数有三条充分的理由:(1)区间成员函数写起来更容易;(2)更能清楚地表达你的意图;(3)表现出了更高的效率。这里重点讨论效率问题:比较向量里面insert函数的三个重载:iterator insert( iterator _Where, const Type& _Val);//只在指定位置插入一个值voi
2007-04-11 13:31:00 513
原创 不写独立于容器类型的代码
通常我们在写程序时,对于使用序列容器有三种:vector,deque,list。如果我们想在代码中写出的程序能够被这三种容器一起使用那么我们就必须要使用这三个类集合的交集。如:(一)由于list存在我们就得要放弃operator[],同样我们得放弃那些要求随机访问迭代器的操作,包括sort,stable_sotr,partial_sort和nth_element. (二) 为了支持vect
2007-04-11 13:30:00 513
原创 用empty检查是否为空
用empty形式判断容器是否为空,而不是用size()==0来判断,理由是:empty对所有标准容器都是常数时间操作,而对一些list实现,size耗费线性时间。
2007-04-11 13:30:00 562
原创 设计模式-单件
static变量从某种意义上说就是一个单件,也就是只有一个对象将被创建。它的分创建时机是:当它作为一个类成员变量时,只有当类被创建或说是被分配内存空间时才会创建;如果它是一个函数(包括类的成员函数),里时,只是当成员函数第一次被使用时才会被创建。首先,我们提供一个文件的单件,为我们在使用文件输入输出时提供方便://:LogFile.h#ifndef LOGFILE_H#defi
2007-04-11 13:29:00 482
原创 系统函数
经常写程序时会用到一些系统函数,但是在头文件中很找不到,在论坛中找到一些:系统时间延迟:(—)使用_sleep()函数 #include using namespace std; _sleep(5*1000);//延时5秒 (二)使用Delay(int time)函数 #include void
2007-04-11 13:27:00 450
原创 各种基本数据类型的范围和精度如何?
Type Name Bytes Other Names Range of Values int * signed (int) System dependent
2007-04-11 13:26:00 764
原创 有关随机数的问题
Q1:如何得到给定范围的随机数?A1:如要得到[a,b)区间的随机数,那么使用 ( rand()%(b-a) ) + a 就可以Q2:我用rand()得到的随机数序列怎么每次都是一样的?A2:rand()产生的是伪随机数,所以如果想每次产生不同的序列,需要给定随机数生 成的种子,使用函数void srand(unsigned int seed),一般都使用 srand(
2007-04-11 13:24:00 635
原创 cout如何控制输出格式?
1 数字进制:使用hex、dec、oct控制输出数字的进制 2 如何对齐:使用setw控制宽度 3 设置精度:使用setprecision控制输出精度 4 填充字符:使用setfill控制填充字符 5 控制格式:使用setioflags(ios_base::fmtflags mask)来控制 常用的有ios::fixed固定的浮点显示
2007-04-11 13:23:00 1645
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人