我自己学习C++编写的常用函数,类,模版 最近修改日期:2008年3月26日
分享一个C++个人工具库,包含容器打印、算法效率比较及随机数组生成等功能,旨在简化学习与调试。
分享一个C++个人工具库,包含容器打印、算法效率比较及随机数组生成等功能,旨在简化学习与调试。
本来用中文注释是没有任何关系的应该,别人看也 容易明白,我自己看也容易明白,但是却常常在VC中产生很多莫名的错误,最让人受不了的是经常因为忘了关输入法,然后导致用的标点VC识别不了,这类错误自己几乎难以用初始的检查发现,而且一旦出现错误,很可能就是一大片的报错,改都改不过来,虽然我英文也许不能太准确的表达我的意思,我决定以后再写程序的时候一律用英文注释,以避免这种让人痛苦的行为,不要说我抛弃母语啊,为什么电脑是用英语的国家发明的?郁闷! 连在CSDN上写文章的TAG用中文都会遇到这种情况。。。。郁闷!不要和我说把中文输入法的标点也弄成半角的就好了,我要是常常能记得那么多,那就好了……………。</p>
以前我讨论过了在自己学习过程中经常要用到的一个特性,就是容器的输出问题,总感觉不是太方便,在学习过程中用的又非常多,我曾经在《 学了模板再来看容器输出的简化》 中已经把他处理的很简单了,不过最近看了 TC++PL受了点启发,又将程序进一步改进,主要的好处是更符合标准库容器的使用习惯,以首尾两个迭代器为输入,而且对普通的数组也可以使用,这样最大的方便之处在于可以接受一个范围的输出了。不过比起以前那种直接传递容器的引用来说,普通的输出整个容器使用上还是复杂一点。
而且,我还持有这样的观点,
Cpp 必须被摧毁 —Bjarne Stroustrup
全世界有经验的程序员都教导我们,应该多用C++中的特性,不要再停留在C语言中某些特别容易导致错误的旧特性,其中,预处理就是特别典型的一个,D&E中Bjarne Stroustrup详细解释了他为预处理提供的各个替代措施,但是,偏偏就是有人这么无聊,就是还喜欢用!比如windows.h中,一个特别特别无稽的使用宏去定义max(),min(),用宏就算了,竟然全部用的都是小写!我简直想拆了微软!因为很明显这样做是非常愚蠢的!比如下面这样一个简单的利用例子,因为包含了windows.h而无法运行。
这是一个C++模板,用于输出任意数据类型的大小和取值范围,方便在不同平台或编译器下检查类型信息。
通过学习C/C++的经历,深刻体会到:学习编程应直接阅读经典,而非普通教材,这样才能避免走弯路,真正掌握知识。
原以为一个以前在C中轻易实现的猜数字游戏即便我加了一些奇怪的规则,还应该是非常简单就能实现的,但是,我忽略了C/C++ 中大整数带来的复杂性,的确,当整数范围超过long所能表示的范围以后,简单的四则运算或逻辑比较都是需要很复杂的代码才能实现。我在问题(3)就开始要解决一个这样的问题,似乎已经违背了我当初设想的从易到难写C++程序的目标了,但是,因为我对C++的了解程度,自然也很难真的说(或者对不同的人也不一样的)从易到难。但是因为太多方案在头脑中,所以先把问题提出来吧,假如有人来看,各取所需吧,我的解答自然不可能一下子出来,目前,我的想法是,实现一个稍微实用一点的大整数类库,以我的水平,自然不能多么完善,但希望这个类库能伴随我以后解决自己为自己提出的各种刁钻问题,目标自然很明确,让大整数的使用像内置类型一样!哪怕是多么大的天文数字!呵呵,目标而已,目标而已。
本文分享了一个C++字符串逆序输出的方法。通过使用vector和反向迭代器,并结合noskipws读取输入,实现了简洁高效的解决方案。
要求符合矩阵的各种运算规则,有标准库的各种功能,因为矩阵主要进行数值计算,所以只需要满足int,long,float,double的储存即可。
24点游戏就是先抽出4张牌,然后通过加减乘除计算24的游戏,要求游戏可以实现计时,限定时间,计算机输出结果等多种功能。输出结果最好是通过上题中类似的扑克图形方式输出。