随笔分类 -  C++

摘要:突然发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。程序演示:测试环境Devc++代码#include using namespace std;main(){char *c1 = "abc";char c2[] = "abc";char *c3 = ( char* )malloc(3);c3 = "abc";printf("%d %d %s\n",&c1,c1,c1);pri 阅读全文
posted @ 2014-01-21 11:58 晨曦语晴 阅读(4567) 评论(0) 推荐(1)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2094以前都不知道这道题该怎么过,今天听同学说了,其实思想很简单。用了最近在学的STL就把它给A了。思想:讲输入的全部人都放入一个容器base中,将全部输的人放入另一个容器base1中,最后将两个容器的size相减一下就可以了。得到1就说明能产生冠军。 因为要是能产生冠军的话,全部人中只有冠军是没有输过的,其他的人肯定是输过的!所以,容器base的大小肯定比base1大1。My code: #include#include#include#includeusing namespace std;int main 阅读全文
posted @ 2014-01-21 11:11 晨曦语晴 阅读(218) 评论(0) 推荐(0)
摘要:template,classAlloc=alloc>第一个参数Key是关键字类型第二个参数T是值类型第三个参数Compare是比较函数(仿函数)第四个参数是内存配置对象Map中的关键字,起码必须有“#include#include#includeusingnamespacestd;structmyComp{inta,b,c;myComp():a(0),b(0),c(0){};myComp(intaa,intbb,intcc):a(aa),b(bb),c(cc){};friendbooloperatorimap;imap[myComp(4,5,0)]='q';imap[my 阅读全文
posted @ 2014-01-21 10:57 晨曦语晴 阅读(3090) 评论(0) 推荐(0)
摘要:最近结合stl看数据结构,对许多原本半生不熟的知识都有了点领悟,大家知道stl里无论是向量还是容器的sort算法都很有用也很方便.但是似乎大家一直都是用int类型来初始化这些对象,那我用自定义的一个结构来对初始化这些对象,并且想对结构里的某一个元素的大小来排序,该怎么办呢,我上网查了些资料,并根据自己的学习与琢磨,找到了比较简单的方法.那么不说废话,看代码:#include#includeusingnamespacestd;structstu{ chara[10]; ints; };classstu1:greater{public: booloperator()(stub1,stub2)c.. 阅读全文
posted @ 2014-01-21 10:56 晨曦语晴 阅读(2335) 评论(0) 推荐(0)
摘要:sort函数定义在库中,可以看做是qsort(包含在头文件中,具体使用在此就不介绍了)的拓展版,是STL的组成部分,针对不同的情况,对排序有不同的策略,平均效率很好,综合效率高于qsort(单一的快排)sort的用法方便简单。一、首先,先拿简单的数组排序为例:intarr[100];若要完成从小到大排序sort(arr,arr+100);即可~若完成从大到小排序,可以定义cmp函数如下:intcmp(inta,intb){returna>b;//不可加等号,若加上等号,在数组前两个数字相等的情况下,将出现内存访问错误//具体为何,有待dbg源码,坐等高人回复^_^}sort(arr,ar 阅读全文
posted @ 2014-01-21 10:50 晨曦语晴 阅读(331) 评论(0) 推荐(0)